Bonjour à tous.
Je suis actuellement en DUT informatique.
NOus avons un nouveau et merveilleu langage: le PROLOG xD
ET donc nous avons un projet à réaliser sur le jeu de l'Ane Rouge.
"L'âne rouge est un casse-tête dont le but est d'amener l'âne à la barrière de son champ en contournant les autres animaux et en demandant à ceux-ci de se déplacer au mieux. "
Bref, j'ai réussi le début du travail mais je bute sur quelquechose:
ligne(N,C,Ln)
qui est vrai si étant donné un nombre N compris entre 1 et 5, et une liste C à cinq éléments, Ln est le N ème élément de C ; intuitivement ce prédicat retourne la N ème ligne de la configuration C ;
J'ai deja: (ce qui permet de vérifier que la liste C à 5 éléments et N compris entre 1 et 5)
MAis je ne vois pas comment faire pour que le programme me donne le valeur de Ln.liste(X,[_,_,_,_,_]).
ligne(N,C) :- N>0,N<6,liste(N,C).
Je peux cas par cas où
et cela 5 fois. Mais j'aimerais généraliser.ligne(1,[[Ln|_],_,_,_,_],Ln).
ligne(1,[[H|T],_,_,_,_],Ln) :- ligne(1,[T,_,_,_,_],Ln).
Voila merci de votre aide.
Partager