diff --git a/Conception.md b/Conception.md index eef4041..8d3f744 100644 --- a/Conception.md +++ b/Conception.md @@ -296,7 +296,7 @@ Ce diagramme décrit le processus de création et d'ajout d'un code par le joueu #### Ajouter un joueur ![Séquence Ajouter Joueur](https://codefirst.iut.uca.fr/git/nicolas.barbosa/mastermind/raw/commit/e5e046fb7c4eaafded4213fce7d4bdbd14e46b9a/Documentation/diagrammes_sequences/AjouterJoueur.jpg) -##### Description diagramme de séquence ajouter un un joueur +#### Description diagramme de séquence ajouter un un joueur 1. **AjouterJoueurs()** - La partie déclenche la méthode `AjouterJoueurs()`. @@ -340,7 +340,7 @@ Ce diagramme décrit le processus de création et d'ajout d'un code par le joueu 14. **Joueur** - La partie reçoit le joueur ajouté. -### Notes +#### Notes - **Boucle NombreJoueur < 2** : La boucle continue tant que le nombre de joueurs est inférieur à 2. - **Boucle TailleCode < 4** : La boucle continue tant que la taille du code est inférieure à 4. @@ -351,7 +351,53 @@ Ce diagramme décrit le processus d'ajout d'un joueur à la partie, depuis la de #### Partie terminée ![Séquence Partie Terminee](https://codefirst.iut.uca.fr/git/nicolas.barbosa/mastermind/raw/commit/e5e046fb7c4eaafded4213fce7d4bdbd14e46b9a/Documentation/diagrammes_sequences/PartieTerminee.jpg) -### Description de l'architecture +#### Description diagramme de séquence partie terminée + +1. **estTerminee()** + - La class Partie appelle la méthode pour savoir si la partie est terminée + +2. **Retourner le statut de fin de partie** + - La classe `Règles` retourne `Vrai` si les conditions de fin de partie sont remplies (joueur courant a plus de 12 tours ou victoire est vraie). + +3. **Gagnant()** + -La liste des gagnants est créée avec les joueurs. + +4. **Retourner la liste des gagnants** + - La liste des gagnants est retournée . + +5. **Perdant()** + - La liste des perdants est créée avec les joueurs. + +6. **Retourner la liste des perdants** + - La liste des perdants est retournée. + +7. **PartieTerminee(Liste Gagnants : Liste, Liste Perdants : Liste)** + - La classe `Partie` envoie un message à l'événement pour notifier que la partie est terminée avec les listes de gagnants et de perdants (`PartieTerminee(Liste Gagnants : Liste, Liste Perdants : Liste)`). + +8. **Affichage du résultat - Égalité (Égalité)** + - Si le nombre de gagnants est supérieur à 1 (`Gagnant > 1`), l'événement affiche Égalité + +9. **)Affichage du résultat - Gagnant unique (Nom gagnant)** + - Si le nombre de gagnants est égal à 1 (`Gagnant == 1`), affiche le nom du gagnant (`Nom gagnant`). + +10. **Affichage du résultat - Défaite (Défaite)** + - Si le nombre de gagnants est égal à 0 (`Gagnant == 0`), l'événement affiche une défaite (`Défaite`). + +11. **Partie non terminée (False)** + - Si la partie n'est pas terminée, la classe `Règles` retourne `False`. + +12. **Initier un nouveau tour (NouveauTour)** + - La classe `Partie` appelle la méthode `NouveauTour` sur l'événement avec les paramètres du joueur courant, du tour, du plateau et de l'indicateur (`NouveauTour(joueurCourant : Joueur, Tour : int, plateau : Plateau, indicateur : Indicateur)`). + +13. **Afficher le nouveau tour** + - L'événement affiche les informations sur le nom du joueur, le plateau, l'indicateur et le tour (`Nom, Plateau, Indicateur, Tour`). + +#### Notes + +- **Conditions** : Les conditions sont vérifiées pour décider si la partie est terminée ou si un nouveau tour doit être initié. +- **Résultats** : Les résultats sont affichés en fonction du nombre de gagnants. +- **Nouveau Tour** : Si la partie n'est pas terminée, un nouveau tour est initié pour le joueur courant. + ### Description de l'architecture