我是编程的新手(使用Python 3)。我想知道在使用按键时,当乌龟到达某一点时会如何阻止乌龟移动。我已经设法做到但它只能工作一次或几次因为乌龟的x坐标在我移动了一点时会改变,例如,而不是40.00,乌龟将降落在-40.0001或-39.9996。
import turtle
wn = turtle.Screen()
a = turtle.Turtle()
def up():
a.setheading(90)
if a.pos() != (40.00, 80.00):
a.forward(20)
else:
False
def left():
a.setheading(180)
a.forward(20)
def right():
a.setheading(0)
a.forward(20)
def down():
a.setheading(270)
a.forward(20)
wn.onkey(up, "Up")
wn.onkey(left, "Left")
wn.onkey(right, "Right")
wn.onkey(down, "Down")
wn.listen()
wn.mainloop()
现在我只想在向上移动的同时停止龟(-40.00,80.00)。我将不胜感激,谢谢。
答案 0 :(得分:0)
请勿直接检查pos
,而是检查a.distance(40.0, 80.0) < 1.0
或某个小门槛。
替代方案:在您移动乌龟之后或在检查其位置之前,您可以round
返回的坐标,以便它们捕捉到确切的数字。
>>> round(40.01)
40.0