Skip to content

montautjp/LABYRINTHE

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

LABYRINTHE

Parcours d'un LABYRINTHE Les paramètres du labyrinthe sont : - la liste qui définit le labyrinthe (composée de la liste des sorties et de la liste des cases) - la liste des cases déjà parcourues - la case de départ (defun labyrinthe (def_lab chemin_parcouru case_depart) (cond

Si nous nous trouvons à une sortie, nous retournons le chemin parcouru. ((sortie? def_lab case_depart) (append (list case_depart) chemin_parcouru))

Si nous sommes à une impasse, nous insérons (en tête de liste) la case_courante dans le chemin_parcouru et nous repartons du premier élément du chemin_parcouru, c'est à dire de la case précédente (d’où nous venons). ((impasse? (cdr def_lab) chemin_parcouru case_depart) (labyrinthe def_lab (append (list case_depart) chemin_parcouru) (car chemin_parcouru)))

Si nous n’avons plus de case à explorer à partir de cette case (case que nous avons déjà parcourue), nous insérons (en tête de liste) la case_courante dans le chemin_parcouru et nous repartons de la première case de la liste des cases voisines, privée de la case précédente (d’où nous venons). ((impassefatale? (cdr def_lab) chemin_parcouru case_depart) (labyrinthe def_lab (append (list case_depart) chemin_parcouru) (car(diff (voisins def_lab case_depart) (list(car chemin_parcouru))))))

Dans tous les autres cas, il reste au moins une case à explorer. Nous insérons (en tête de liste) la case_courante dans le chemin_parcouru et nous repartons de la première case de la liste des cases voisines que nous n’avons pas encore parcourues (liste des cases voisines, privée des cases que nous avons déjà parcourues). (t (labyrinthe def_lab (append (list case_depart) chemin_parcouru) (car(diff (voisins def_lab case_depart) chemin_parcouru))))))

About

Parcours d'un LABYRINTHE

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published