Laby, niveau 2d: Le Zig-Zag des cailloux#
Un nouveau zig-zag, mais cette fois avec des cailloux, et c’est à vous de rédiger l’intégralité du programme. Inspirez-vous bien sûr des deux niveaux précédents!
Indications
Définissez deux fonctions.
Chaque fonction doit être définie dans une cellule dédiée. Pour insérer une nouvelle cellule, vous pouvez par exemple utiliser l’icône + de la barre d’outils.
#include <laby/global_fr.hpp>
LABY("2d")
/// BEGIN SOLUTION
void avance_tant_que_tu_peux() {
while ( regarde() == Vide ) {
avance();
}
}
/// END SOLUTION
/// BEGIN SOLUTION
void avance_tant_que_tu_peux_cailloux() {
while ( regarde() == Caillou ) {
prend();
avance();
gauche();
gauche();
pose();
gauche();
gauche();
}
}
/// END SOLUTION
debut();
/// BEGIN SOLUTION
avance_tant_que_tu_peux_cailloux();
gauche();
avance_tant_que_tu_peux_cailloux();
gauche();
avance_tant_que_tu_peux();
droite();
avance_tant_que_tu_peux_cailloux();
droite();
avance_tant_que_tu_peux_cailloux();
droite();
avance_tant_que_tu_peux();
droite();
avance_tant_que_tu_peux_cailloux();
/// END SOLUTION
ouvre();
CHECK( a_gagne() );