Donc, j'essaie de faire une fonction de rebond réaliste, où la tortue frappe un mur et rebondit à l'angle correspondant. Mon code ressemble à ceci:TurtleGraphics Python: Tortue qui rebondit sur les murs?
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()))
Ainsi, cela fonctionne pour les parois latérales, mais je ne comprends pas comment le faire rebondir correctement sur le haut/bas. Aucune suggestion?
La tortue reste accrochée sur le mur supérieur, mais merci d'avoir essayé. –
Oh, mise à jour: j'ai changé le -2 dans turtle.left sous elif pas à 2 et il semble rebondir correctement. Merci encore. –
+1: La solution originale fonctionne bien pour moi. Agréable! –