diagramme de classes
continuous-integration/drone/push Build is passing
Details
continuous-integration/drone/push Build is passing
Details
parent
2e1dcef32b
commit
53e4602edb
@ -0,0 +1,107 @@
|
||||
```plantuml
|
||||
|
||||
@startuml
|
||||
|
||||
enum Couleur {
|
||||
ROUGE
|
||||
VERT
|
||||
BLEU
|
||||
JAUNE
|
||||
NOIR
|
||||
BLANC
|
||||
}
|
||||
|
||||
enum Indicateur {
|
||||
BONNEPLACE
|
||||
BONNECOULEUR
|
||||
}
|
||||
|
||||
class Jeton {
|
||||
+Jeton(couleur: Couleur)
|
||||
}
|
||||
|
||||
Jeton *--> Couleur: +Couleur: Couleur
|
||||
|
||||
class Code {
|
||||
+Code(tailleCode: int)
|
||||
+Code(jetons: Jeton?[])
|
||||
+AjouterJeton(jeton: Jeton): void
|
||||
+SupprimerDernierJeton(): void
|
||||
+RecupererJeton(indice: int): void
|
||||
+Jetons(): Jeton?[]
|
||||
+EstComplet(): bool
|
||||
+TailleMaximale(): int
|
||||
+Comparer(autreCode: Code): Indicateur[]
|
||||
|
||||
+NbJetons: int = 0
|
||||
}
|
||||
|
||||
Code o--> Jeton: -lesJeton: Jeton?[]
|
||||
|
||||
class Plateau {
|
||||
-random: Random
|
||||
-tailleCode: int
|
||||
|
||||
+Plateau(tailleCode: int, tailleGrille: int)
|
||||
+GenererCodeAleatoire(): void
|
||||
+EstComplet(): bool
|
||||
+AjouterCode(code: Code): void
|
||||
+EstBonCode(code: Code): bool
|
||||
+Grille(): Jeton?[][]
|
||||
+Indicateurs(): Indicateur[][]
|
||||
|
||||
+Victoire: bool = false
|
||||
+Tour: int = 1
|
||||
}
|
||||
|
||||
Plateau *--> Code: -codeSecret: Code
|
||||
Plateau *--> Code: -grille: Code?[]
|
||||
Plateau *--> Indicateur: -indicateurs: Indicateur[][]
|
||||
|
||||
|
||||
class Joueur {
|
||||
+Joueur(nom: string, plateau: Plateau)
|
||||
|
||||
+Nom: string
|
||||
}
|
||||
|
||||
Joueur *--> Plateau: +Plateau: Plateau
|
||||
|
||||
|
||||
interface IRegles {
|
||||
+AjouterJoueur(joueur: string): void
|
||||
+JoueurCourant(): Joueur
|
||||
+PasserLaMain(): void
|
||||
+GenererCode(): Code
|
||||
+CommencerLaPartie(): void
|
||||
+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()
|
||||
|
||||
+Nom: string = "Règles classiques"
|
||||
+TourMaximum: int = 12
|
||||
+TailleCodeMaximum: int = 4
|
||||
+NbJoueurs: int
|
||||
+NbJoueursMaximum: int = 2
|
||||
}
|
||||
|
||||
ReglesClassiques ..|> IRegles
|
||||
|
||||
@enduml
|
||||
|
||||
```
|
Loading…
Reference in new issue