2.3 KiB
ANALYSE DE CARTE#
COMPARAISON DE CARTE##
ComparaisonDeCarte(TasDeCarte:Tableau(4,3) d'entiers, Carte:Tableau(4,3) d'entiers) : entier
Entrées : TasDeCarte et Carte :Tableau(4,3) d'entiers
Sortie : entier
DEBUT###
###Variables locales : Cox1,Cox2,Coy1,Coy2 : entiers
Si TasDeCarte == NULL alors
Code <- 2
retour Code
Fin Si Cox1,Coy1,Cox2,Coy2 <- rechercheCo(Carte)
Code <- 0
Si TasDeCarte(Coy1,Cox1) == 3 ou TasDeCarte(Coy2,Cox2) == 3 alors
retour Code
Fin si
Si TasDeCarte(Coy1,Cox1) == 1 ou TasDeCarte(Coy2,Cox2) == 2 alors
Code <- 1
Fin si Si TasDeCarte(Coy1,Cox1) == 1 et TasDeCarte(Coy2,Cox2) == 2 alors
Code <- 2
Fin Si
retour Code
###FIN
##COMPARAISON TOTAL DE LA CARTE
ComparaisonTotal(TasDeCarte:Tableau(4,3) d'entiers,CarteFille:Tableau(4,3) d'entiers, index entier):entier,Tableau(4,3) d'entiers
Entrees : TasDeCarte,CarteFille :Tableau(4,3) d'entiers, index entier
Sortie : entier
###DEBUT
###Variables locales
Code,Code1 entier
Si TasDeCarte == NULL alors
TasDeCarte <- CarteFille
Code <- 1
retour Code,TasDeCarte
Fin si
Si index == 1 alors
CarteFille <- rotationVerticale(CarteFille)
Fin Si
Si index == 2 alors
CarteFille <- rotationHorizontale(CarteFille)
Fin Si
Si index == 3 alors
CarteFille <- rotationVerticale(CarteFille)
Fin Si
Si index == 4 alors
Code <- -1
retour Code,TasDeCarte
Fin Si
Code <- ComparaisonDeCarte(TasDeCarte,CarteFille)
Si Code == 2 alors
TasDeCarte <- TasDeCarte + CarteFille
retour Code,TasDeCarte
Fin si
Si Code == 1 alors
Code1 <- ComparaisonDeCarte(TasDeCarte,rotationHorizontale(CarteFille))
**Si **Code1 == 1 alors
Code <- 4
retour Code, TasDeCarte
Fin Si
Code1 <- ComparaisonDeCarte(TasDeCarte,rotationVerticale(CarteFille))
**Si **Code1 == 2 alors
Code <- 2;
TasDeCarte <- TasDeCarte + rotationVerticale(CarteFille)
retour Code, TasDeCarte
Fin Si
Si Code1 == 1 alors
Code <- 3
retour Code,TasDeCarte
Fin Si
Fin si
Si Code == 0 alors
retour ComparaisonTotal(TasDeCarte,CarteFille,index + 1)
Fin si