簡體   English   中英

Python -- 如何使用 onkey 退出 while 循環?

[英]Python -- How do I use onkey to exit a while loop?

我正在嘗試使用海龜庫構建一個類似於蛇的游戲。 我能夠讓烏龜通過一個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對象上調用。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM