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