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.

Niveau précédent, Niveau suivant, Documentation

#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() );