You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
1.7 KiB
1.7 KiB
@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