2017-09-03 67 views
1

我是新的Python 3x,並試圖編寫一個小型的「遊戲」。 目前我正在與海龜合作。所以,我用turtle.Turtle()添加了2個Turtles,並且想要編碼,它檢查Turtle1是否在Turtle2位置。Python - 如何檢查所有的時間,如果烏龜在位置

import turtle 
import random 

turtle1 = turtle.Turtle() 
turtle1.color("blue") 
turtle1.shape("square") 
turtle1.penup() 

turtle2 = turtle.Turtle() 
turtle2.color("red") 
turtle2.shape("square") 
turtle2.penup() 

# --- 

def k1(): 
    turtle1.forward(10) 

def k2(): 
    turtle1.left(90) 

def k3(): 
    turtle1.right(90) 

turtle.onkeypress(k1, "Up") 
turtle.onkey(k2, "Left") 
turtle.onkey(k3, "Right") 
turtle.listen() 

# --- 

def npos(): 
    xpos = random.randrange(0,100) 
    ypos = random.randrange(0,100) 
    random.Random() 
    turtle2.setpos(xpos, ypos) 

npos() 
# --- 

t2pos = turtle2.pos() 

if turtle1.distance(t2pos) < 5: 
    npos() 

所以,我要檢查所有的時間,如果turtle1是turtle2的位置附近,如果是,改變與非營利組織)turtle2位置(

感謝。

回答

0

假設我理解你的問題正確,你只需要修改你的密鑰,處理程序和輕微的'非營利組織()函數:

def k1(): 
    turtle1.forward(10) 
    npos() 

def k2(): 
    turtle1.left(90) 
    npos() 

def k3(): 
    npos() 
    turtle1.right(90) 

def npos(): 
    if turtle1.distance(turtle2) >= 5: 
     return 
    xpos = random.randrange(0,100) 
    ypos = random.randrange(0,100) 
    turtle2.setpos(xpos, ypos) 

現在每個按鍵後npos()函數被調用。在修改後的版本中,npos()檢查距離是否大於4:如果是,則不做任何處理,否則turtle2的位置將隨機選擇。

+1

'turtle1.distance(turtle2)'足夠了。 – user1016274