Parcours Le tape-taupe Étape 1
Le champ et ses neuf terriers
Dessiner un champ vert avec neuf terriers disposés en 3 × 3, à partir de deux fonctions qui calculent le centre de chaque terrier.
Notions :ellipsefonctionmodarrondi_inferieur
Les neuf terriers sont numérotés de 0 à 8, ligne par ligne. Plutôt que d'écrire neuf positions à la main, on les calcule à partir du numéro :
fonction centreX(c)
retourne 50 + (c mod 3) * 100
fin fonctionc mod 3donne la colonne (0, 1 ou 2) : le reste de la division par 3 ;arrondi_inferieur(c / 3)donne la ligne : le quotient entier.
Chaque colonne est espacée de 100 pixels. Le terrier n° 5 est donc dans la colonne 2 et la ligne 1.
Des terriers en perspective
Un trou vu de biais n'est pas un cercle mais une ellipse : un cercle aplati. ellipse(toile, x, y, rayonX, rayonY, couleur) prend deux rayons, l'un horizontal (40), l'autre vertical (14).
Ces deux fonctions serviront partout : pour dessiner la taupe, et pour savoir si un clic l'a touchée.
Ouvrez CoddyRun et partez d'un programme vide : tout commence ici.
Il te faut le logiciel pour faire cette étape. Il est gratuit : crée ton compte pour le télécharger, puis reviens ici, ta place t'attend.
Créer mon compte et téléchargerIndice 1
Déclarez champ est une toile, de 300 × 330 pixels, avec un fond #6AB04C.
Indice 2
centreY : 70 + arrondi_inferieur(c / 3) * 100.
Indice 3
Les terriers se dessinent un peu sous le centre, en centreY(t) + 22, pour laisser la place à la taupe au-dessus.
Voir la solution complète
Essayez d'abord par vous-même : c'est en cherchant qu'on apprend. La solution sert à vérifier ou à se débloquer.
@ Les déclarations
champ est une toile
@ La position des terriers
fonction centreX(c)
retourne 50 + (c mod 3) * 100
fin fonction
fonction centreY(c)
retourne 70 + arrondi_inferieur(c / 3) * 100
fin fonction
@ Le champ
dimension(champ, 300, 330)
remplir(champ, #6AB04C)
pour t de 0 à 8
ellipse(champ, centreX(t), centreY(t) + 22, 40, 14, #4E342E)
fin pour
affiche champ