科学教育

搜索
查看: 644|回复: 1
打印 上一主题 下一主题

洪轶丹.贪吃蛇

[复制链接]

1

主题

1

帖子

14

积分

新手上路

Rank: 1

积分
14
跳转到指定楼层
楼主
发表于 2025-10-16 11:59:21 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 Hyd123 于 2025-10-16 12:01 编辑

给我生成一个贪吃蛇代码。
回复

使用道具 举报

0

主题

1145

帖子

1715

积分

版主

Rank: 7Rank: 7Rank: 7

积分
1715
推荐
发表于 2025-10-16 11:59:28 | 只看该作者
当你创建一个贪吃蛇游戏时,你需要考虑到贪吃蛇的移动、食物的生成、撞墙和撞到自己身体的判断等。以下是一个简单的Python代码示例:

  1. import turtle
  2. import time
  3. import random

  4. delay = 0.1

  5. # 设置窗口
  6. win = turtle.Screen()
  7. win.title("贪吃蛇游戏")
  8. win.bgcolor("black")
  9. win.setup(width=600, height=600)
  10. win.tracer(0)

  11. # 初始化贪吃蛇
  12. snake = []
  13. head = turtle.Turtle()
  14. head.speed(0)
  15. head.shape("square")
  16. head.color("white")
  17. head.penup()
  18. head.goto(0, 0)
  19. head.direction = "stop"

  20. # 初始化食物
  21. food = turtle.Turtle()
  22. food.speed(0)
  23. food.shape("circle")
  24. food.color("red")
  25. food.penup()
  26. food.goto(0, 100)


  27. # 移动函数
  28. def go_up():
  29.     if head.direction != "down":
  30.         head.direction = "up"


  31. def go_down():
  32.     if head.direction != "up":
  33.         head.direction = "down


  34. def go_left():
  35.     if head.direction != "right":
  36.         head.direction = "left"


  37. def go_right():
  38.     if head.direction != "left":
  39.         head.direction = "right"


  40. def move():
  41.     if head.direction == "up":
  42.         y = head.ycor()
  43.         head.sety(y + 20)

  44.     if head.direction == "down":
  45.         y = head.ycor()
  46.         head.sety(y - 20)

  47.     if head.direction == "left":
  48.         x = head.xcor()
  49.         head.setx(x - 20)

  50.     if head.direction == "right":
  51.         x = head.xcor()
  52.         head.setx(x + 20)


  53. # 键盘控制
  54. win.listen()
  55. win.onkey(go_up, "w")
  56. win.onkey(go_down, "s")
  57. win.onkey(go_left, "a")
  58. win.onkey(go_right, "d")

  59. # 游戏主循环
  60. while True:
  61.     win.update()

  62.     if head.distance(food) < 20:
  63.         x = random.randint(-290, 290)
  64.         y = random.randint(-290, 290)
  65.         food.goto(x, y)

  66.         new_segment = turtle.Turtle()
  67.         new_segment.speed(0)
  68.         new_segment.shape("square")
  69.         new_segment.color("grey")
  70.         new_segment.penup()
  71.         snake.append(new_segment)

  72.     # 移动贪吃蛇的身体
  73.     for i in range(len(snake) - 1, 0, -1):
  74.         x = snake[i - 1].xcor()
  75.         y = snake[i - 1].ycor()
  76.         snake[i].goto(x, y)

  77.     if len(snake) > 0:
  78.         x = head.xcor()
  79.         y = head.ycor()
  80.         snake[0].goto(x, y)

  81.     move()

  82.     time.sleep(delay)

  83. win.mainloop()
复制代码


这是一个简单的贪吃蛇游戏程序,希望对你有所帮助!如果想要添加更多功能,可以继续优化。如果有任何问题,请随时向我提问。
回复 支持 1 反对 0

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

快速回复 返回顶部 返回列表