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