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
@startuml
enum Couleur {
@ -16,24 +17,27 @@ enum Indicateur {
BONNECOULEUR
}
class Jeton {
struct Jeton {
---
---
+Jeton(couleur: Couleur)
}
Jeton *--> Couleur: +Couleur: Couleur
class Code {
---
+NbJetons: int = 0
---
+Code(tailleCode: int)
+Code(jetons: Jeton?[])
+Code(jetons: Jeton[])
+AjouterJeton(jeton: Jeton): void
+SupprimerDernierJeton(): void
+RecupererJeton(indice: int): void
+RecupererJeton(indice: int): Jeton
+Jetons(): Jeton?[]
+EstComplet(): bool
+TailleMaximale(): int
+Comparer(autreCode: Code): Indicateur[]
+NbJetons: int = 0
}
Code o--> Jeton: -lesJeton: Jeton?[]
@ -41,7 +45,10 @@ Code o--> Jeton: -lesJeton: Jeton?[]
class Plateau {
-random: Random
-tailleCode: int
---
+Victoire: bool = false
+Tour: int = 1
---
+Plateau(tailleCode: int, tailleGrille: int)
+GenererCodeAleatoire(): void
+EstComplet(): bool
@ -49,9 +56,6 @@ class Plateau {
+EstBonCode(code: Code): bool
+Grille(): Jeton?[][]
+Indicateurs(): Indicateur[][]
+Victoire: bool = false
+Tour: int = 1
}
Plateau *--> Code: -codeSecret: Code
@ -60,16 +64,24 @@ Plateau *--> Indicateur: -indicateurs: Indicateur[][]
class Joueur {
+Joueur(nom: string, plateau: Plateau)
---
+Nom: string
---
+Joueur(nom: string, plateau: Plateau)
}
Joueur *--> Plateau: +Plateau: Plateau
interface IRegles {
+AjouterJoueur(joueur: string): void
---
+Nom: string
+TourMaximum: int
+TailleCodeMaximum: int
+NbJoueurs: int
+NbJoueursMaximum: int
---
+AjouterJoueur(joueur: string): Joueur
+JoueurCourant(): Joueur
+PasserLaMain(): void
+GenererCode(): Code
@ -77,30 +89,60 @@ interface IRegles {
+EstTerminee(): bool
+Gagnants(): Joueur[]
+Perdants(): Joueur[]
+Nom: string
+TourMaximum: int
+TailleCodeMaximum: int
+NbJoueurs: int
+NbJoueursMaximum: int
}
class ReglesClassiques {
+nbJoueurs: int = 0
+joueurCourant: int?
+joueurs: Joueur[]
+ReglesClassiques()
-nbJoueurs: int = 0
-joueurCourant: int?
---
+Nom: string = "Règles classiques"
+TourMaximum: int = 12
+TailleCodeMaximum: int = 4
+NbJoueurs: int
+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

Loading…
Cancel
Save