如何在某些坐标处阻止海龟?

时间:2014-04-28 20:13:01

标签: python coordinates turtle-graphics

我是编程的新手(使用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)。我将不胜感激,谢谢。

1 个答案:

答案 0 :(得分:0)

请勿直接检查pos,而是检查a.distance(40.0, 80.0) < 1.0或某个小门槛。

替代方案:在您移动乌龟之后或在检查其位置之前,您可以round返回的坐标,以便它们捕捉到确切的数字。

>>> round(40.01)
40.0