2014-04-28 112 views
0

我對編程非常陌生(使用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)烏龜。我將不勝感激任何幫助,謝謝。

+2

我將計算和當前位置40,80之間的距離並停止想它是的,如果它是低於一些少量的,而不是正好爲0 – sgauria

+0

謝謝......我成功了:) – twekye

回答

0

不直接檢查pos,而是檢查是否a.distance(40.0, 80.0) < 1.0或一些小的閾值。

替代方法:在您移動烏龜之後或在您檢查其位置之前,您可以返回座標以便它們捕捉到確切的數字。

>>> round(40.01) 
40.0 
+0

謝謝,這真的有幫助。 – twekye

相關問題