TurtleGraphics Python: Odbijając żółwia ze ścian?
Próbuję więc stworzyć realistyczną funkcję odbijania, w której żółw uderza w ścianę i odbija się pod odpowiednim kątem. Mój kod wygląda tak:
def bounce(num_steps, step_size, initial_heading):
turtle.reset()
top = turtle.window_height()/2
bottom = -top
right = turtle.window_width()/2
left = -right
turtle.left(initial_heading)
for step in range(num_steps):
turtle.forward(step_size)
x, y = turtle.position()
if left <= x <= right and bottom <= y <= top:
pass
else:
turtle.left(180-2 * (turtle.heading()))
Działa to w przypadku ścian bocznych, ale nie wiem, jak sprawić, by odbijało się poprawnie od góry / dołu. Jakieś sugestie?