科学教育
标题:
洪轶丹.贪吃蛇
[打印本页]
作者:
Hyd123
时间:
2025-10-16 11:59
标题:
洪轶丹.贪吃蛇
本帖最后由 Hyd123 于 2025-10-16 12:01 编辑
给我生成一个贪吃蛇代码。
作者:
kaia
时间:
2025-10-16 11:59
当你创建一个贪吃蛇游戏时,你需要考虑到贪吃蛇的移动、食物的生成、撞墙和撞到自己身体的判断等。以下是一个简单的Python代码示例:
import turtle
import time
import random
delay = 0.1
# 设置窗口
win = turtle.Screen()
win.title("贪吃蛇游戏")
win.bgcolor("black")
win.setup(width=600, height=600)
win.tracer(0)
# 初始化贪吃蛇
snake = []
head = turtle.Turtle()
head.speed(0)
head.shape("square")
head.color("white")
head.penup()
head.goto(0, 0)
head.direction = "stop"
# 初始化食物
food = turtle.Turtle()
food.speed(0)
food.shape("circle")
food.color("red")
food.penup()
food.goto(0, 100)
# 移动函数
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)
# 键盘控制
win.listen()
win.onkey(go_up, "w")
win.onkey(go_down, "s")
win.onkey(go_left, "a")
win.onkey(go_right, "d")
# 游戏主循环
while True:
win.update()
if head.distance(food) < 20:
x = random.randint(-290, 290)
y = random.randint(-290, 290)
food.goto(x, y)
new_segment = turtle.Turtle()
new_segment.speed(0)
new_segment.shape("square")
new_segment.color("grey")
new_segment.penup()
snake.append(new_segment)
# 移动贪吃蛇的身体
for i in range(len(snake) - 1, 0, -1):
x = snake[i - 1].xcor()
y = snake[i - 1].ycor()
snake[i].goto(x, y)
if len(snake) > 0:
x = head.xcor()
y = head.ycor()
snake[0].goto(x, y)
move()
time.sleep(delay)
win.mainloop()
复制代码
这是一个简单的贪吃蛇游戏程序,希望对你有所帮助!如果想要添加更多功能,可以继续优化。如果有任何问题,请随时向我提问。
欢迎光临 科学教育 (http://www.sci-edu.net/)
Powered by Discuz! X3.2