You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
152 lines
2.3 KiB
152 lines
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**
|
|
>
|
|
### FIN
|