Skip to article frontmatterSkip to article content
Site not loading correctly?

This may be due to an incorrect BASE_URL configuration. See the MyST Documentation for reference.

Toiles et cailloux

Commençons par un petit échauffement avant d’attaquer le défi ci-dessous.

Indication : quand il y a une toile, on peut la détruire avec un caillou.

from laby.global_fr import *

carte = """
o o o o o o
o → . r w x
o o o o o o
"""
Laby(carte=carte)
debut()
### BEGIN SOLUTION
avance()
prend()
avance()
pose()
prend()
droite()
droite()
pose()
droite()
droite()
avance()
### END SOLUTION
ouvre()
assert est_gagnant()

Comment résoudre le labyrinthe suivant ?

Attention, le nombre de cailloux / toiles varie !

from laby.global_fr import *

Laby(lignes=1, colonnes=10, option="rocksAndWebs")
debut()


### BEGIN SOLUTION
def pose_derriere():
    droite()
    droite()
    pose()
    droite()
    droite()


def neutralise():
    pose()
    prend()
    avance()


def retourner_chercher_caillou():
    droite()
    droite()
    while regarde() != Caillou:
        avance()
    prend()
    droite()
    droite()
    while regarde() == Vide:
        avance()


droite()
while regarde() != Sortie:
    if regarde() == Caillou:
        prend()
        avance()
        pose_derriere()
    elif regarde() == Toile:
        retourner_chercher_caillou()
        neutralise()
        pose_derriere()
    else:
        avance()
ouvre()
### END SOLUTION