Python——如何使用onkey退出while循环?



我正在尝试用龟库构建一个类似于蛇的游戏。我可以让海龟用while True循环不断向前移动,也可以在不打破while循环的情况下转弯。

现在我正试图找出一种方法来退出while循环,使海龟前进,以结束游戏。我的目标是让玩家通过在键盘上输入"e"来退出循环。

这段代码当前的结果是:AttributeError: 'Turtle' object has no attribute 'done'

def forward():
while True:
snake.forward(0.8) 
if window.onkey(exit,"e"):
exit()
def left():
snake.left(90)
def right():
snake.right(90)
def back():
snake.back(0.8)
def exit():
snake.done()
#the function that actually moves the snake 
def movesnake():
while True:
window.listen()

window.onkey(forward, "w")
window.onkey(left, "a")
window.onkey(right, "d")
window.onkey(back, "s")

window.mainloop()
movesnake()

如果你只是想让蛇停止移动,snake.done()应该是turtle.done()done是一个turtle模块函数,而不是turtle.Turtle方法,因此您可以将其作为函数调用,但不能在Turtle对象上调用。

最新更新