une balle statique 40 x 40 « bal » : à hauteur fixe 230, d'abscisse variable « x », (la variable x pourra être initialisée avec : « x = 10 », pour le moment).
2) Balle rebondissante.
Nous allons maintenant faire rebondir la balle sur les bords gauche et droit de la fenêtre. la balle se déplacera dans la fenêtre en faisant des pas de longueur « dx » pixels.
Pour cela :
Créer une variable « dx », qui représentera le pas, et qui vaudra 4,
Animer la balle à l'aide d'une fonction récursive « anim » :
qui utilisera « x » et « dx » comme en variables globales,
commencera par mettre à jour la valeur de x, en lui faisant faire un pas de longueur dx,
empêchera la balle de sortir de la fenêtre sur les côtés droit et gauche :
if x > 685 :
dx = -4 # permet d'inverser le sens des déplacement en abscisses
if x < 0 :
dx = 4 # permet d'inverser le sens des déplacement en abscisses
ou plus habile encore :
if x > 685 or x < 0 :
dx = -dx
déplacera la balle à sa nouvelle position : méthode coords,
la fonction sera récursive : elle se ré-appellera automatiquement 20 ms plus tard, pour faire faire un nouveau pas à la balle.
Penser à lancer la balle au début du progamme, en appelant une première fois la fonction « anim », dans le Main, juste avant le « fen.mainloop() ».
3) Balle rebondissante à deux dimensions.
On souhaite maintenant disposer d'une balle se déplaçant aussi verticalement et rebondissant sur les quatre bords de la fenêtre.
Créer les variables :
« y » : ordonnée de la balle, vaudra 10 au début du programme.
« dy » : déplacement vertical, vaudra 4.
Compléter la fonction « anim », pour qu'elle déplace désormais la balle, horizontalement et verticalement à la fois, en la faisant rebondir sur les quatre bords de la fenêtre.