Labyrinthes aléatoires#
La commande ci-dessous crée un labyrinthe aléatoire. Il y a toujours un chemin vers la sortie et aucune boucle. Pouvez-vous écrire un programme qui vous sortira à tous les coup du labyrinthe ?
Attention
Cet exercice est marqué d’un ♣ et est donc d’un niveau plus avancé ; n’hésitez pas à le passer s’il vous paraît difficile afin de ne pas perdre trop de temps, et à revenir dessus ultérieurement.
On commence petit…#
from laby.global_fr import *
Laby(lignes = 2, colonnes = 2)
debut()
from laby.global_fr import *
Laby(lignes = 3, colonnes = 3)
debut()
Le vrai challenge#
Indication
Implémentez la stratégie de la main droite : la fourmi longe un mur, celui à sa droite (ou à sa gauche), et avance jusqu’à trouver la sortie. Note : cet algorithme ne fonctionne que sur des labyrinthes dits parfaits, c’est-à-dire qui ne contiennent pas d’ilôts, de boucles ou de cellules inaccessibles.
from laby.global_fr import *
Laby(lignes = 8, colonnes = 8)
debut()
Encore plus de challenge !#
Il est possible de rajouter des options pour avoir des cailloux et des toiles !
Par exemple :
from laby.global_fr import *
Laby(lignes = 8, colonnes = 8, option = "fullRocks")
debut()
Options possible : rocks, webs, fullRocks, fullWebs, rocksAndWebs, fullRocksAndWebs