1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78
|
carte(2,'trefle'). carte(3,'trefle'). carte(4,'trefle'). carte(5,'trefle'). carte(6,'trefle'). carte(7,'trefle'). carte(8,'trefle'). carte(9,'trefle'). carte(10,'trefle'). carte('valet','trefle'). carte('dame','trefle'). carte('roi','trefle'). carte('as','trefle').
carte(2,'carreau'). carte(3,'carreau'). carte(4,'carreau'). carte(5,'carreau'). carte(6,'carreau'). carte(7,'carreau'). carte(8,'carreau'). carte(9,'carreau'). carte(10,'carreau'). carte('valet','carreau'). carte('dame','carreau'). carte('roi','carreau'). carte('as','carreau').
carte(2,'coeur'). carte(3,'coeur'). carte(4,'coeur'). carte(5,'coeur'). carte(6,'coeur'). carte(7,'coeur'). carte(8,'coeur'). carte(9,'coeur'). carte(10,'coeur'). carte('valet','coeur'). carte('dame','coeur'). carte('roi','coeur'). carte('as','coeur').
carte(2,'pique'). carte(3,'pique'). carte(4,'pique'). carte(5,'pique'). carte(6,'pique'). carte(7,'pique'). carte(8,'pique'). carte(9,'pique'). carte(10,'pique'). carte('valet','pique'). carte('dame','pique'). carte('roi','pique'). carte('as','pique').
une_paire(carte(X,_),carte(X,_)).
est_une_paire(A,B) :- une_paire(A,B).
contient_une_paire(A,B,C,D,E):-
est_une_paire(A,B);
est_une_paire(A,C);
est_une_paire(A,D);
est_une_paire(A,E);
est_une_paire(B,C);
est_une_paire(B,D);
est_une_paire(B,E);
est_une_paire(C,D);
est_une_paire(C,E);
est_une_paire(D,E).
un_brelan(carte(X,_),carte(X,_),carte(X,_)).
est_un_brelan(A,B,C) :- un_brelan(A,B,C).
contient_un_brelan(A,B,C,D,E):- /*contient_un_brelan(carte(8,'trefle'),carte(8,'carreau'),carte(2,'pique'),carte(2,'carreau'),carte(8,'pique')).*/
est_un_brelan(A,B,C);
est_un_brelan(A,B,D);
est_un_brelan(A,B,E);
est_un_brelan(B,C,D);
est_un_brelan(B,C,E);
est_un_brelan(C,D,E).
est_un_full(A,B,C,D,E):- /*est_un_full(carte(8,'trefle'),carte(8,'carreau'),carte(2,'pique'),carte(2,'carreau'),carte(8,'pique')).*/
contient_un_brelan(A,B,C,D,E),
contient_une_paire(A,B,C,D,E).
un_carre(carte(X,_),carte(X,_),carte(X,_),carte(X,_)).
est_un_carre(A,B,C,D) :- un_carre(A,B,C,D).
contient_un_carre(A,B,C,D,E):-
est_un_carre(A,B,C,D);
est_un_carre(B,C,D,E).
une_couleur(carte(_,X),carte(_,X),carte(_,X),carte(_,X),carte(_,X)).
est_une_couleur(A,B,C,D,E) :- une_couleur(A,B,C,D,E).
/* règle basique de ce poker : est_une_paire < est_un_brelan < est_un_full < est_un_carre < est_une_couleur
jeux1 = A,B,C,D,E
jeux2 = F,G,H,I,J
*/
comparer(A,B,C,D,E,F,G,H,I,J):- /* renvoie true si le jeux 2 est plus fort que le jeux 1*/
contient_une_paire(A,B,C,D,E),
contient_un_brelan(F,G,H,I,J);
contient_une_paire(A,B,C,D,E),
est_un_full(F,G,H,I,J);
contient_une_paire(A,B,C,D,E),
contient_un_carre(F,G,H,I,J);
contient_une_paire(A,B,C,D,E),
est_une_couleur(F,G,H,I,J);
contient_un_brelan(A,B,C,D,E),
est_un_full(F,G,H,I,J);
contient_un_brelan(A,B,C,D,E),
contient_un_carre(F,G,H,I,J);
contient_un_brelan(A,B,C,D,E),
est_une_couleur(F,G,H,I,J);
est_un_full(A,B,C,D,E),
contient_un_carre(F,G,H,I,J);
est_un_full(A,B,C,D,E),
est_une_couleur(F,G,H,I,J);
contient_un_carre(A,B,C,D,E),
est_une_couleur(F,G,H,I,J).
resoudre(A,B,C,D,E,F,G,H,I,J):-
comparer(A,B,C,D,E,F,G,H,I,J),
write('le jeux2 et plus fort que le jeux1').
/*resoudre(carte(7,'trefle'),carte(8,'carreau'),carte(2,'pique'),carte(2,'carreau'),carte(8,'pique'),carte(8,'trefle'),carte(8,'carreau'),carte(2,'pique'),carte(2,'carreau'),carte(8,'pique')).*/ |
Partager