国产成人精品亚洲777人妖,欧美日韩精品一区视频,最新亚洲国产,国产乱码精品一区二区亚洲

您的位置:首頁技術(shù)文章
文章詳情頁

Python turtle實(shí)現(xiàn)貪吃蛇游戲

瀏覽:10日期:2022-06-16 13:26:07

本文實(shí)例為大家分享了Python turtle實(shí)現(xiàn)貪吃蛇游戲的具體代碼,供大家參考,具體內(nèi)容如下

# Simple Snake Game in Python 3 for Beginners import turtleimport timeimport random delay = 0.1 # Scorescore = 0high_score = 0 # Set up the screenwn = turtle.Screen()wn.title('Snake Game by @TokyoEdTech')wn.bgcolor('green')wn.setup(width=600, height=600)wn.tracer(0) # Turns off the screen updates # Snake headhead = turtle.Turtle()head.speed(0)head.shape('square')head.color('black')head.penup()head.goto(0, 0)head.direction = 'stop' # Snake foodfood = turtle.Turtle()food.speed(0)food.shape('circle')food.color('red')food.penup()food.goto(0, 100) segments = [] # Penpen = turtle.Turtle()pen.speed(0)pen.shape('square')pen.color('white')pen.penup()pen.hideturtle()pen.goto(0, 260)pen.write('Score: 0 High Score: 0', align='center', font=('Courier', 24, 'normal')) # Functions def go_up(): if head.direction != 'down':head.direction = 'up' def go_down(): if head.direction != 'up':head.direction = 'down' def go_left(): if head.direction != 'right':head.direction = 'left' def go_right(): if head.direction != 'left':head.direction = 'right' def move(): if head.direction == 'up':y = head.ycor()head.sety(y + 20) if head.direction == 'down':y = head.ycor()head.sety(y - 20) if head.direction == 'left':x = head.xcor()head.setx(x - 20) if head.direction == 'right':x = head.xcor()head.setx(x + 20) # Keyboard bindingswn.listen()wn.onkeypress(go_up, 'Up')wn.onkeypress(go_down, 'Down')wn.onkeypress(go_left, 'Left')wn.onkeypress(go_right, 'Right') # Main game loopwhile True: wn.update() # Check for a collision with the border if head.xcor() > 290 or head.xcor() < -290 or head.ycor() > 290 or head.ycor() < -290:time.sleep(1)head.goto(0, 0)head.direction = 'stop' # Hide the segmentsfor segment in segments: segment.goto(1000, 1000) # Clear the segments listsegments.clear() # Reset the scorescore = 0 # Reset the delaydelay = 0.1 pen.clear()pen.write('Score: {} High Score: {}'.format(score, high_score), align='center', font=('Courier', 24, 'normal')) # Check for a collision with the food if head.distance(food) < 20:# Move the food to a random spotx = random.randint(-290, 290)y = random.randint(-290, 290)food.goto(x, y) # Add a segmentnew_segment = turtle.Turtle()new_segment.speed(0)new_segment.shape('square')new_segment.color('grey')new_segment.penup()segments.append(new_segment) # Shorten the delaydelay -= 0.001 # Increase the scorescore += 10 if score > high_score: high_score = score pen.clear()pen.write('Score: {} High Score: {}'.format(score, high_score), align='center', font=('Courier', 24, 'normal')) # Move the end segments first in reverse order for index in range(len(segments)-1, 0, -1):x = segments[index-1].xcor()y = segments[index-1].ycor()segments[index].goto(x, y) # Move segment 0 to where the head is if len(segments) > 0:x = head.xcor()y = head.ycor()segments[0].goto(x, y) move() # Check for head collision with the body segments for segment in segments:if segment.distance(head) < 20: time.sleep(1) head.goto(0, 0) head.direction = 'stop' # Hide the segments for segment in segments:segment.goto(1000, 1000) # Clear the segments list segments.clear() # Reset the score score = 0 # Reset the delay delay = 0.1 # Update the score display pen.clear() pen.write('Score: {} High Score: {}'.format(score, high_score), align='center', font=('Courier', 24, 'normal')) time.sleep(delay) wn.mainloop()

Python turtle實(shí)現(xiàn)貪吃蛇游戲

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持好吧啦網(wǎng)。

標(biāo)簽: Python 編程
相關(guān)文章:
主站蜘蛛池模板: 望都县| 伊金霍洛旗| 洛隆县| 新闻| 昌宁县| 永清县| 杭锦后旗| 万荣县| 柘荣县| 葵青区| 瓮安县| 鹤山市| 洮南市| 平南县| 乌兰察布市| 高台县| 蒙自县| 句容市| 菏泽市| 岐山县| 通江县| 固始县| 胶州市| 平远县| 德化县| 抚松县| 屏边| 永城市| 福清市| 大安市| 合川市| 通河县| 台湾省| 信丰县| 福贡县| 大邑县| 黎平县| 潼南县| 成都市| 措勤县| 庄浪县|