@startuml enum Type_Terrains { FORET COLLINE PRE CHAMPS MONTAGNE DESERT MER } enum Ressources { BOIS ARGILE LAINE BLE MINERAI } enum TypeInfrastructure { VILLE COLONIE ROUTE } enum Couleurs { BLANC ROUGE ORANGE BLEU }

object Partie object Plateau{ terrains : Tuiles_terrains mer : Tuiles_mer } object Joueur { couleur : Couleurs } object De { score : entier } object Cartes_a_jouer object Tuiles_terrains { terrains : Terrains numero : Integer a_bandit : booleen } object Tuiles_mers{ terrain : Type_Terrains = MER } object Cartes_ressources { ressources : Ressources } object Cartes_developpement object Cartes_speciales object Infrastructure { type : TypeInfrastructure couleur : Couleurs }

Partie "1" — "n" Infrastructure Partie "1" — "n" Cartes_a_jouer Partie "1" *-- "1" Plateau : mise_en_place Partie "1" *-- "1" De : lancer_de Joueur - Partie : have 4 <

Cartes_a_jouer <|-- Cartes_ressources Cartes_a_jouer <|-- Cartes_developpement Cartes_a_jouer <|-- Cartes_speciales Joueur "1" → "n" Cartes_a_jouer : : Jouer_carte Cartes_a_jouer "n" ←- "1" Joueur : : Piocher_carte

Joueur "1" → "n" Infrastructure : construire

Plateau "1" *-- Tuiles_terrains : have 19 < Plateau "1" *-- Tuiles_mers : have 6 < Plateau "1" — "n" Infrastructure : Placer @enduml