乌龟接触方块?

时间:2018-01-17 18:31:31

标签: python turtle-graphics

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

,那就是"

1 个答案:

答案 0 :(得分: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()