所以这里是我的代码,是否有一种编码方式,以便当ISS和火箭相遇(在同一位置)时会破坏窗口并创建一个新的Tkinter窗口?
from turtle import *
def move(thing, distance):
thing.circle(250, distance)
def main():
rocket = Turtle()
ISS = Turtle()
rocket.speed(10)
ISS.speed(10)
counter = 1
title("ISS")
screensize(750, 750)
ISS.hideturtle()
rocket.hideturtle()
ISS.penup()
ISS.left(90)
ISS.fd(250)
ISS.left(90)
ISS.showturtle()
ISS.pendown()
rocket.penup()
rocket.fd(250)
rocket.left(90)
rocket.showturtle()
rocket.pendown()
while counter == 1:
move(ISS, 3)
move(rocket, 4)
谢谢!!
答案 0 :(得分:2)
http://docs.python.org/2/library/turtle.html#turtle.position
“返回乌龟的当前位置(x,y)(作为Vec2D向量)。”
但是,由于浮点错误,你应该考虑它们重叠,即使它们相隔很远,例如。
epsilon = 0.000001
if abs(ISS.xcor() - rocket.xcor()) < epsilon and abs(ISS.ycor() - rocket.ycor()) < epsilon:
do stuff
如果你想假装它们是圆圈而且ISS的半径为r1且火箭的半径为r2,那么你可以测量距离,如:
sqrt((ISS.xcor() - rocket.xcor())**2 + (ISS.ycor() - rocket.ycor())**2) < (r1 + r2)
如果是这样,则它们是重叠的圆圈。