Python贪吃蛇游戏开发问题:循环创建蛇身方块异常
问题原因
你只创建了一个Turtle实例,循环里反复把同一个turtle对象添加到列表,然后移动它的位置。本质上你操作的始终是同一个方块,所以看起来只是这个方块挪了三次位置,并没有生成三个独立的蛇身。
修复后的代码
from turtle import Screen, Turtle screen = Screen() screen.setup(600, 600) screen.bgcolor("black") screen.title("New Snake Game ") starting_position = [] x = 10 for i in range(3): # 每次循环创建新的Turtle对象 segment = Turtle(shape="square") segment.color("white") segment.penup() segment.goto(x=x, y=0) starting_position.append(segment) x += 20 print(starting_position) screen.exitonclick()
关键改动说明
- 把Turtle对象的创建放到for循环内部,每次迭代都生成一个新的独立方块
- 用新变量
segment存储每个新创建的蛇身片段,避免复用同一个对象 - 这样列表
starting_position里的每个元素都是不同的Turtle实例,对应屏幕上的独立方块
内容的提问来源于stack exchange,提问作者AdminSohel
相关产品推荐
相关产品推荐

