Correction DOC

master
Yannis SEVRET 4 years ago
parent a71e4e42ae
commit 0cd9565307

@ -13,6 +13,7 @@
--- ---
### ENUMERATION TYPEFIGURE ### ### ENUMERATION TYPEFIGURE ###
//Tailles de Figure possibles sur des cartes //Tailles de Figure possibles sur des cartes
- **Petit** : petit - **Petit** : petit
- **Moyen** : moyen - **Moyen** : moyen
- **Grand** : grand - **Grand** : grand
@ -32,11 +33,11 @@
###STRUCTURE CARTE ### ###STRUCTURE CARTE ###
### Attributs ### ### Attributs ###
- **Carte.indentifiant** : entier - **Carte.identifiant** : entier
- **Carte.row** : eniter // Nombre de lignes sur la carte - **Carte.row** : eniter // Nombre de lignes sur la carte
- **Carte.column** : entier // Nombre de colonnes sur la carte - **Carte.column** : entier // Nombre de colonnes sur la carte
- **Carte.HTML**: code HTML - **Carte.HTML**: code HTML
- **Carte.Matrice**: entier[n][k]; - **Carte.Matrice**: entier[row][column];
- **Carte.lesFigures** : Figures [ ] - **Carte.lesFigures** : Figures [ ]
### Méthodes ### ### Méthodes ###
- **Carte.carteVerticale** : obtient sa carte verticalement symétrique. - **Carte.carteVerticale** : obtient sa carte verticalement symétrique.
@ -45,6 +46,7 @@
--- ---
### STRUCTURE CODE ### ### STRUCTURE CODE ###
// Permet de gérer les informations sur des assemblages de cartes
### Attributs ### ### Attributs ###
- **Code.code** : entier //Nombre de liaisons - **Code.code** : entier //Nombre de liaisons
@ -62,23 +64,23 @@
- **CarteFille** : Carte sujette, "pièce" à comparer sur le support. - **CarteFille** : Carte sujette, "pièce" à comparer sur le support.
**Objectif** : Determine le nombre de liaison possible entre CarteMere et CarteFille. **Objectif** : Determine le nombre de liaison possible entre les deux cartes envoyées en paramètre
**Sortie** : entier,Carte **Sortie** : Code
**Sortie Possible :** **Sortie Possible :**
- **-1,CarteMere** : L'assemblage est impossible. - new Code(**-1,CarteMere**) : L'assemblage est impossible.
- **nbliaisons,CarteMere** : L'assemblage est possible avec un certain nombre de liaisons entre les cartes. - new Code(**nbliaisons,CarteMere**) : L'assemblage est possible avec un certain nombre de liaisons entre les deux cartes.
### COMMENT FAIRE ### ### COMMENT FAIRE ###
- Pour chaque **Figure** contenu dans **CarteFille.lesFigures** - Pour chaque **Figure** contenu dans le second paramètre de la fonction (**CarteFille.lesFigures**) :
- On regarde chaque **Figure** contenu dans **CarteMere.lesFigures** - On regarde chaque **Figure** contenu dans le premier parametre (**CarteMere.lesFigures**) puis on vérifie ces situations :
- Si des figures sont aux mêmes endroits, de même **forme** et de **type** différents, on incrémente le nombre de liaisons. - Si deux figures sont aux mêmes endroits, de même **forme** et de **type** différents. Dans ce cas, on incrémente le nombre de liaisons.
- Si des figures sont aux mêmes endroits mais que les **Types** sont identiques ou que les **Forme** sont différentes, le nombre de liaisons vaut -1 et on retourne le résultat dans ce cas. - Si des figures sont aux mêmes endroits mais que les **Types** sont identiques ou que les **Forme** sont différentes. Dans ce cas, il est impossible d'assembler les deux **Cartes**, le nombre de liaisons vaut alors -1 et on retourne le résultat.
- A la fin de la comparaison des **Figures**. On fait la mise à jour de **CarteMere** en faisant la somme des deux cartes puis on retourne le résultat avec le nombre de liaison. - A la fin de la comparaison des **Figures**. On fait la mise à jour du premier paramètre (**CarteMere**) en faisant la fusion des deux **Cartes** puis on retourne le résultat avec le nombre de liaison dans une nouvelle structure **Code**.
--- ---
@ -101,11 +103,11 @@
- On regarde chaque **Figure** contenu dans **CarteMere.lesFigures** - On regarde chaque **Figure** contenu dans **CarteMere.lesFigures**
- Si l'une des Figures de **CarteFille** est absente de **CarteMere** on l'ajoute à la liste **CarteMere.lesFigures**. - Si l'une des Figures de **CarteFille** est absente de **CarteMere** on l'ajoute à la liste **CarteMere.lesFigures**.
- Sinon on fait rien - Sinon on fait rien
- Une fois toutes les figures mises à jour dans **CarteMere.lesFigures**, **CarteMere.Matrice** est aussi mise à jour en faisant apparaitre les figures ainsi que les types par le biais de somme de puissance de 2. - Une fois toutes les **figures** mises à jour dans **CarteMere.lesFigures**, **CarteMere.Matrice** est aussi mise à jour par le biais de somme de puissance de 2 en fonction des **types** de **Figures**.
--- ---
Dans une Matrice si on a : Dans une Matrice si nous avons une somme de puissance de 2 dans une cellule, nous sommes capable de déterminer quels types de figures sont présent dans celle-ci :
- 1 -> Petit - 1 -> Petit
- 2 -> Moyen - 2 -> Moyen
@ -134,14 +136,14 @@ Dans une Matrice si on a :
### COMMENT FAIRE ### ### COMMENT FAIRE ###
- On supprime la tête de liste de **TasDeCarte** qui est égale à **CarteMere**. - On supprime la tête de liste envoyée en paramètre qui, au début de cette fonction, est identique au second paramètre de la fonction (**CarteMere**).
- Si **TasDeCarte** est maintenant vide on retourne un **Code** avec **Code.code** = 0 et **Code.Carte** = **CarteMere**. - Si cette liste, après la suppression de sa tête, est maintenant vide, on retourne une structure **Code** avec pour attribut **Code.code** = 0 et **Code.Carte** = **CarteMere**.
-Sinon on continue -Sinon on continue la fonction
- On appelle la même fonction **Assemblage** en envoyant la liste **TasDeCarte** et en testant avec toutes les variantes de rotation de la tête de **TasDeCarte**. - On appelle récursivement cette fonction (**Assemblage**) en envoyant en premier paramètre la nouvelle liste de **Carte**, et en second parametre, toutes les variantes (rotations) possible de la **Carte** en tête de cette même liste.
- Une fois toutes les listes de **Code** retournées par ces appelles de fonctions et récupérées dans une seule : - Une fois tout les résultats de ces fonctions récupérés dans une seule liste:
- Pour chaque **Code** de la liste : - Pour chaque index de cette liste :
- Si **Code.code** est différent de -1, on compare **Code.Carte** et **CarteMere**. Puis on ajoute le nombre de liaison à **Code.code**. - Si nous sommes notifiés via la structure **Code** présente à cet index que l'on peut assembler les cartes, alors on compare la **Carte** et **CarteMere**. Puis on ajoute le nombre de liaison entre elles.
- On retourne la liste de **Code** mise à jour. - On retourne la liste de résultats mise à jour.
--- ---

Loading…
Cancel
Save