Tout d’abord, nous allons définir une procédure bon qui trace le bonhomme ci-contre à la taille de notre choix.
pour bon :c tg 154 av 44*:c re 44*:c tg 52 av 44*:c re 44*:c tg 154 av 40*:c tg 154 av 44*:c re :c*44 tg 52 av 44*:c re :c*44 tg 154 av 10*:c tg 90 repete 180[av :c/2 td 2] td 90 fin |
Nous allons à présent créer une animation donnant l’illusion que le bonhomme grandit petit à petit. Pour cela, nous allons tracer bon 0.1 puis bon 0.2 bon 0.3 ... jusqu’à bon 5. Entre chaque tracé, on effacera l’écran. On obtient les deux procédures suivantes :
pour bon :c tg 154 av 44*:c re 44*:c tg 52 av 44*:c re 44*:c tg 154 av 40*:c tg 154 av 44*:c re :c*44 tg 52 av 44*:c re :c*44 tg 154 av 10*:c tg 90 repete 180[av :c/2 td 2] td 90 si :c=5[stop] ve ct bon :c+0.1 fin pour demarrer ve ct bon 0 fin |
Enfin, pour fluidifier le tout, on va se servir du mode animation et de la primitive rafraichis.
pour bon :c tg 154 av 44*:c re 44*:c tg 52 av 44*:c re 44*:c tg 154 av 40*:c tg 154 av 44*:c re :c*44 tg 52 av 44*:c re :c*44 tg 154 av 10*:c tg 90 repete 180[av :c/2 td 2] td 90 rafraichis si :c=5[stop] ve ct bon :c+0.1 fin pour demarrer ct animation bon 0 stopanimation fin |
Remarque : Ici, la procédure bon est récursive, on aurait plus simplement utiliser la primitive repetepour afin de faire varier :c de 0,1 à 5. Voici le programme obtenu alors :
pour bon :c ve ct tg 154 av 44*:c re 44*:c tg 52 av 44*:c re 44*:c tg 154 av 40*:c tg 154 av 44*:c re :c*44 tg 52 av 44*:c re :c*44 tg 154 av 10*:c tg 90 repete 180[av :c/2 td 2] td 90 rafraichis fin pour demarrer ct animation repetepour [c 0 5 0.1][bon :c] stopanimation fin |