CoddyRun

Parcours Le tape-taupe Étape 1

Étape 1 sur 6

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

Le résultat final du parcours : Le tape-taupe
Le résultat final du projet
Ce qu'il faut savoir

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 fonction
  • c mod 3 donne 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.

Code de départ

Ouvrez CoddyRun et partez d'un programme vide : tout commence ici.

Pas encore CoddyRun ?

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écharger
Besoin d'aide ?
Indice 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

Ce parcours te plaît ?

Crée ton compte gratuit et construis le projet en entier, étape par étape.

Créer mon compte gratuit J'ai déjà un compte