@startuml skinparam nodesep 220 skinparam ranksep 120 class Jeu { - joueurCourant: Joueur + defausserCarteWagon(CouleurWagon): void + piocherCarteWagon(): CouleurWagon + retirerCarteWagonVisible(CouleurWagon): void + piocherDestination(): Destination + remplirCartesWagonVisibles() : void } class Joueur { - couleur : Couleur - nom : String - nbWagons : int - nbGares : int - score : int + joueurTour() + choisirDestinations(List, int) } enum CouleurWagon{ } class Route { - nom : String - longueur : int - couleur : CouleurWagon } class Tunnel { } class Ferry { } class Destination { - ville1 : String - ville2 : String - valeur: int } class Ville { - nom : String } Route <|-- Tunnel Route <|-- Ferry Joueur "joueurs 2..5 "--* Jeu Joueur -left->"*" CouleurWagon Joueur "0..1 propriƩtaire"--"* destinations" Destination Joueur "0..1 proprietaire"<- Route Ville "0..3"-right->"0..1 prorpietaire" Joueur Jeu -->"*" Destination Jeu -right->"*" Route Route -right->"ville1" Ville Route -right->"ville2" Ville @enduml