Compter les cailloux

Compter les cailloux#

Le labyrinthe ci-dessous contient des cailloux placés aléatoirement. La mission est de sortir du labyrinthe tout en ayant compté les cailloux.

  1. Ignorez dans un premier temps la variable nbcailloux et écrivez un programme qui permette à la fourmi de sortir du labyrinthe.

  2. La variable nbcailloux va maintenant servir de compteur. Adaptez votre programme pour que, chaque fois que la fourmi voit un cailloux, la variable nbcailloux soit incrémentée de 1.

from laby.global_fr import *
Laby(lignes = 1, colonnes = 10, option = "rocks")
debut()
nbcailloux = 0
### BEGIN SOLUTION
droite()
while (regarde() != Sortie):
    if regarde() == Caillou:
        nbcailloux = nbcailloux + 1
        prend()
        avance()
        droite()
        droite()
        pose()
        droite()
        droite()
    else:
        avance()
### END SOLUTION
ouvre()

La cellule ci-dessous doit maintenant afficher le nombre de cailloux :

nbcailloux
7
assert est_gagnant()

♣ Pour un défi plus épicé, la mission ci-dessous est d’atteindre la sortie, en comptant les toiles et les cailloux. Procédez en deux étapes comme ci-dessus.

from laby.global_fr import *
Laby(lignes = 1, colonnes = 10, option = "rocksAndWebs")
debut()
### BEGIN SOLUTION
nbcailloux = 0
nbtoiles = 0
droite()
while (regarde() != Sortie):
    if regarde() == Toile:
        nbtoiles = nbtoiles + 1
        pose()
    if regarde() == Caillou:
        nbcailloux = nbcailloux + 1
        droite()
        droite()
        pose()
        droite()
        droite()
        prend()
        avance()
    else:
        avance()
droite()
droite()
pose()
droite()
droite()
### END SOLUTION
ouvre()

Les cellules suivantes doivent afficher respectivement le nombre de cailloux et de toiles

### BEGIN SOLUTION
nbcailloux
### END SOLUTION
12
### BEGIN SOLUTION
nbtoiles
### END SOLUTION
4
assert est_gagnant()