Python如何一直检查乌龟是否就位

2024-05-17 01:36:54 发布

您现在位置:Python中文网/ 问答频道 /正文

我是python3x的新手,正在尝试编写一个小的“游戏”。 目前我正在和海龟一起工作。所以,我加了2只乌龟乌龟。乌龟(),并希望对其进行编码,以检查Turtle1是否处于Turtle2位置。在

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的位置,如果是,用npos()改变turtle2的位置

谢谢。在


Tags: importdefk2k1randomcolorshapeturtle
1条回答
网友
1楼 · 发布于 2024-05-17 01:36:54

假设我正确地理解了您的问题,您只需修改密钥处理程序和“npos()”函数:

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的位置。在

相关问题 更多 >