nouvel UML ajout de la partie Partie et quelques corrections
continuous-integration/drone/push Build is passing Details

master
Céleste BARBOSA 12 months ago
parent 61f4a5e918
commit 20031d21cf

@ -1,5 +1,6 @@
```plantuml ```plantuml
@startuml @startuml
enum Couleur { enum Couleur {
@ -16,24 +17,27 @@ enum Indicateur {
BONNECOULEUR BONNECOULEUR
} }
class Jeton { struct Jeton {
---
---
+Jeton(couleur: Couleur) +Jeton(couleur: Couleur)
} }
Jeton *--> Couleur: +Couleur: Couleur Jeton *--> Couleur: +Couleur: Couleur
class Code { class Code {
---
+NbJetons: int = 0
---
+Code(tailleCode: int) +Code(tailleCode: int)
+Code(jetons: Jeton?[]) +Code(jetons: Jeton[])
+AjouterJeton(jeton: Jeton): void +AjouterJeton(jeton: Jeton): void
+SupprimerDernierJeton(): void +SupprimerDernierJeton(): void
+RecupererJeton(indice: int): void +RecupererJeton(indice: int): Jeton
+Jetons(): Jeton?[] +Jetons(): Jeton?[]
+EstComplet(): bool +EstComplet(): bool
+TailleMaximale(): int +TailleMaximale(): int
+Comparer(autreCode: Code): Indicateur[] +Comparer(autreCode: Code): Indicateur[]
+NbJetons: int = 0
} }
Code o--> Jeton: -lesJeton: Jeton?[] Code o--> Jeton: -lesJeton: Jeton?[]
@ -41,7 +45,10 @@ Code o--> Jeton: -lesJeton: Jeton?[]
class Plateau { class Plateau {
-random: Random -random: Random
-tailleCode: int -tailleCode: int
---
+Victoire: bool = false
+Tour: int = 1
---
+Plateau(tailleCode: int, tailleGrille: int) +Plateau(tailleCode: int, tailleGrille: int)
+GenererCodeAleatoire(): void +GenererCodeAleatoire(): void
+EstComplet(): bool +EstComplet(): bool
@ -49,9 +56,6 @@ class Plateau {
+EstBonCode(code: Code): bool +EstBonCode(code: Code): bool
+Grille(): Jeton?[][] +Grille(): Jeton?[][]
+Indicateurs(): Indicateur[][] +Indicateurs(): Indicateur[][]
+Victoire: bool = false
+Tour: int = 1
} }
Plateau *--> Code: -codeSecret: Code Plateau *--> Code: -codeSecret: Code
@ -60,16 +64,24 @@ Plateau *--> Indicateur: -indicateurs: Indicateur[][]
class Joueur { class Joueur {
+Joueur(nom: string, plateau: Plateau) ---
+Nom: string +Nom: string
---
+Joueur(nom: string, plateau: Plateau)
} }
Joueur *--> Plateau: +Plateau: Plateau Joueur *--> Plateau: +Plateau: Plateau
interface IRegles { interface IRegles {
+AjouterJoueur(joueur: string): void ---
+Nom: string
+TourMaximum: int
+TailleCodeMaximum: int
+NbJoueurs: int
+NbJoueursMaximum: int
---
+AjouterJoueur(joueur: string): Joueur
+JoueurCourant(): Joueur +JoueurCourant(): Joueur
+PasserLaMain(): void +PasserLaMain(): void
+GenererCode(): Code +GenererCode(): Code
@ -77,30 +89,60 @@ interface IRegles {
+EstTerminee(): bool +EstTerminee(): bool
+Gagnants(): Joueur[] +Gagnants(): Joueur[]
+Perdants(): Joueur[] +Perdants(): Joueur[]
+Nom: string
+TourMaximum: int
+TailleCodeMaximum: int
+NbJoueurs: int
+NbJoueursMaximum: int
} }
class ReglesClassiques { class ReglesClassiques {
+nbJoueurs: int = 0 -nbJoueurs: int = 0
+joueurCourant: int? -joueurCourant: int?
+joueurs: Joueur[] ---
+ReglesClassiques()
+Nom: string = "Règles classiques" +Nom: string = "Règles classiques"
+TourMaximum: int = 12 +TourMaximum: int = 12
+TailleCodeMaximum: int = 4 +TailleCodeMaximum: int = 4
+NbJoueurs: int +NbJoueurs: int
+NbJoueursMaximum: int = 2 +NbJoueursMaximum: int = 2
---
+ReglesClassiques()
}
IRegles <|.. ReglesClassiques
ReglesClassiques *--> Joueur: -joueurs: Joueur[]
class Partie {
---
+StringEventHandler<TEventArgs>(sender: Object?, e: TEventArgs): string?
+JetonEventHandler<TEventArgs>(sender: Object?, e: TEventArgs): Jeton
---
+DemanderJoueur: StringEventHandler<DemanderJoueurEventArgs>?
+DemanderJeton: JetonEventHandler<DemanderJetonEventArgs>?
+AjouterJoueur: EventHandler<AjouterJoueursEventArgs>?
+DebutPartie: EventHandler<AjouterJoueursEventArgs>?
+NouveauTour: EventHandler<AjouterJoueursEventArgs>?
+NouveauJeton: EventHandler<AjouterJoueursEventArgs>?
+NouveauCode: EventHandler<AjouterJoueursEventArgs>?
+PasserMain: EventHandler<AjouterJoueursEventArgs>?
+PartieTerminee: EventHandler<AjouterJoueursEventArgs>?
---
-QuandDemanderJoueur(int numero): string?
-QuandDemanderJeton(): Jeton?
-QuandAjouterJoueur(Joueur joueur): void
-QuandDebutPartie(): void
-QuandNouveauTour(Joueur joueur, int tour, Jeton?[][] grille, Indicateur[][] indicateurs): void
-QuandNouveauJeton(Jeton jeton): void
-QuandNouveauCode(Code: code): void
-QuandPasserMain(): void
-QuandPartieTerminee(Joueur[] gagnants, Joueur[] perdants): void
+Partie(IRegles regles)
+Jouer(): void
} }
ReglesClassiques ..|> IRegles
Partie *--> IRegles: -regles: IRegles
@enduml @enduml

Loading…
Cancel
Save