您当前的位置:首页 > IT编程 > python
| C语言 | Java | VB | VC | python | Android | TensorFlow | C++ | oracle | 学术与代码 | cnn卷积神经网络 | gnn | 图像修复 | Keras | 数据集 | Neo4j | 自然语言处理 | 深度学习 | 医学CAD | 医学影像 | 超参数 | pointnet | pytorch | 异常检测 | Transformers | 情感分类 | 知识图谱 |

自学教程:Python turtle实现贪吃蛇游戏

51自学网 2021-10-30 22:27:33
  python
这篇教程Python turtle实现贪吃蛇游戏写得很实用,希望能帮到您。

本文实例为大家分享了Python turtle实现贪吃蛇游戏的具体代码,供大家参考,具体内容如下

# 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 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         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 spot        x = random.randint(-290, 290)        y = random.randint(-290, 290)        food.goto(x, y)         # Add a segment        new_segment = turtle.Turtle()        new_segment.speed(0)        new_segment.shape("square")        new_segment.color("grey")        new_segment.penup()        segments.append(new_segment)         # Shorten the delay        delay -= 0.001         # Increase the score        score += 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()

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持51zixue.net。


python中%格式表达式实例用法
Python使用海龟绘图实现贪吃蛇游戏
万事OK自学网:51自学网_软件自学网_CAD自学网自学excel、自学PS、自学CAD、自学C语言、自学css3实例,是一个通过网络自主学习工作技能的自学平台,网友喜欢的软件自学网站。