Не работает проверка столкновения в игре python turtle
Я пишу игру с помощью библиотеки turtle, где черепаха сталкиваясь с кругом, погибает. Но при запуске программа виснет и черепаха не двигается. Что еще можно использовать кроме бесконечного цикла для проверки столкновения.
from turtle import *
from random import *
import math
hideturtle()
player = Turtle()
player.up()
player.shape("turtle")
player.resizemode("auto")
player.pensize(8)
player.goto(-500,0)
player.speed(0)
rocks = []
for i in range(20):
rocks.append(Turtle())
for rock in rocks:
rock.shape("circle")
rock.up()
rock.speed(0)
rock.resizemode("auto")
rock.pensize(randint(1,10))
rock.color("brown")
x = randint(-300, 300)
y = randint(-300, 300)
rock.goto(x, y)
def moveRight():
x = player.xcor()
x += 10
player.setx(x)
def moveLeft():
x = player.xcor()
x -= 10
player.setx(x)
def moveForward():
y = player.ycor()
y += 10
player.sety(y)
def moveBackward():
y = player.ycor()
y -= 10
player.sety(y)
def isCollosion(t1, t2):
distance = math.sqrt(math.pow(t1.xcor() - t2.xcor(), 2) + math.pow(t1.ycor() - t2.ycor(), 2))
if distance < 35:
return True
else:
return False
wn = Screen() #initiate the window
wn.title("ship")
wn.bgcolor("orange")
wn.onkey(moveRight, "d")
wn.onkey(moveLeft, "a")
wn.onkey(moveForward, 'w')
wn.onkey(moveBackward, 's')
wn.listen()
while True:
for rock in rocks:
if isCollosion(player, rock):
player.hideturtle() #hide player from the arena
color('red')
penup()
setposition(0, 0)
write("Game Over!", align="center", font=("Arial", 35, "normal"))
done() #Stop Game
break
done()
close()