Introduction
Étape 1
Présentation de ce qui vous attend dans cet atelier
Des œufs, des carottes et un panier...
Bienvenue dans le workshop Attrap'œuf :-), mais avant de commencer on vous recommande d'avoir suivi les workshops Pong et TapTap.
Cette étape présente l'un des objectifs : apprendre à réduire les lignes de code redondantes. Dans le workshop Taptap, vous avez probablement remarqué que de nombreuses lignes ressemblaient énormément à d'autres et bien souvent juxtaposées.
Voici quelques extraits du workshop précédent :
// Mélanger les briques
briques[0] = random(GAUCHE, DROITE + 1);
briques[1] = random(GAUCHE, DROITE + 1);
briques[2] = random(GAUCHE, DROITE + 1);
briques[3] = random(GAUCHE, DROITE + 1);
briques[4] = random(GAUCHE, DROITE + 1);
// Décaler tout vers le bas
briques[0] = briques[1];
briques[1] = briques[2];
briques[2] = briques[3];
briques[3] = briques[4];
briques[4] = random(GAUCHE, DROITE + 1); // Nouvelle brique
if (briques[1] == GAUCHE) {
gb.display.drawRect(25, 30, 20, 10);
} else {
gb.display.drawRect(35, 30, 20, 10);
}
if (briques[2] == GAUCHE) {
gb.display.drawRect(25, 20, 20, 10);
} else {
gb.display.drawRect(35, 20, 20, 10);
}
if (briques[3] == GAUCHE) {
gb.display.drawRect(25, 10, 20, 10);
} else {
gb.display.drawRect(35, 10, 20, 10);
}
if (briques[4] == GAUCHE) {
gb.display.drawRect(25, 0, 20, 10);
} else {
gb.display.drawRect(35, 0, 20, 10);
}
Notre objectif dans ce workshop sera de réduire notre code en taille et aussi de le rendre bien plus flexible. Dans TapTap nous n'avions que cinq briques, mais si vous en aviez 300, avec la méthode vu dans l'exemple ci-dessus ça aurait fait 300 copié-collés ! Et maintenant imaginez que vous changez d'avis sur un détail (comme afficher des cercles à la place des rectangles)... Ce serait 300 modifications à faire à la main... L'horreur !
Pour programmer Attrap'œuf, nous allons voir les fonctions et la boucle for. Ce sont des notions qui s'intègrent très bien avec la structure "entrées / mise à jour / affichage" que nous avons vu précédemment, ainsi que la création l'utilisation des tableaux.