乌龟接触方块?

问题描述 投票:-1回答:1

如果我在乌龟窗口(50像素* 50像素)中有一个随机生成的正方形,并且我有一只乌龟(玩家),有没有办法检测到乌龟接触广场?有没有特定的代码行?也许,就像“如果乌龟在上/触摸颜色”这样的话?

python turtle-graphics
1个回答
0
投票

处理此问题的一种简单方法是使目标方块本身成为乌龟。然后你可以使用乌龟的.distance()方法确定玩家乌龟是否正在接触目标方乌龟。

一个极简主义的例子 - 你可以使用箭头键移动乌龟,如果你设法将乌龟停放在广场上,程序将退出:

from turtle import Turtle, Screen

CURSOR_SIZE = 20

screen = Screen()

square = Turtle('square', visible=False)
square.shapesize(50 / CURSOR_SIZE)
square.color('red', 'white')
square.penup()
square.goto(175, 287)
square.showturtle()

turtle = Turtle('turtle')
turtle.color('dark green', 'green')
turtle.penup()

def move():
    turtle.forward(10)

    if turtle.distance(square) < 15:
        screen.bye()  # program ends if turtle enters square

screen.onkey(lambda: turtle.left(45), 'Left')
screen.onkey(lambda: turtle.right(45), 'Right')
screen.onkey(move, 'Up')

screen.listen()
screen.mainloop()
© www.soinside.com 2019 - 2024. All rights reserved.