Votre objectif (ici, et dans tous les programmes bien faits) est d'écrire le code le plus simple possible. Pour cela, vous veillerez à décomposer le travail à faire en sous-étape, et à faire réaliser chaque sous-étape par une méthode particulière.
Si on observe attentivement le modèle à dessiner, on remarque qu'il est composé de quatre formes en sorte de V de couleurs différentes, et à des positions différentes. Un découpage possible est d'écrire une fonction chargée de faire un V de la couleur indiquée à partir de la position courante. Son prototype peut être :
[!java|c]void [/!]faireV([!java|c]Color [/!]c[!scala]: Color[/!])[!python] # le paramètre c est de type Color[/!]
Le type de données Color
représente naturellement une couleur
en particulier. Votre code invoquera sans doute faireV
avec
les arguments suivants (une couleur différente à chaque appel) :
Dans la méthode faireV()
, il faut utiliser la méthode
setCouleurBrosse()
, qui est prédéfinie dans la buggle, pour
changer la couleur du pinceau, ainsi que leveBrosse()
et
baisseBrosse()
pour lever et baisser le pinceau.
Il faudrait également que la méthode faireV()
place la buggle
en position pour dessiner le prochain V directement.
À vous de jouer. Je suis sûr que vous parviendrez à trouver d'autres
méthodes à ajouter pour décomposer ce problème et faire en sorte que votre
code reste simple et agréable à lire. Complétez la méthode
run()
qui sera appelée automatiquement une fois.
[!java]Le mot-clé public
signifie plus ou moins que tout le
monde a le droit d'invoquer cette méthode. Ça tombe bien, l'infrastructure
de la PLM va l'invoquer directement.[/!]