World : holds Game --> Deck : holds World "1" --> "1..*" Continent : composed of Continent "1" --> "1..*" Territory : composed of Army "*" --> "1" Territory : defends Deck "1" --> "*" ArmyCard : shuffles Deck "1" --> "*" ChanceCard : shuffles Deck "1" --> "*" TerritoryCard : shuffles TerritoryCard "1" --> "1" Territory : denotes Player "1..*" --> "1" Game : plays Player --> Deck : draws from Player "1" --> "*" Territory : owns Player "1" --> "*" Army : has in inventory Player --> Dice : rolls ChanceCard --> Army : grants mercenaries class Game { world deck players roundPhase isPaused } class Dice { sides } class World { continents } class Continent { name territories } class Territory { name continent owner armies isPlayable } class Army { type isMercenary } class Player { avatar username color isComputer territories armies armyCards territory"> World : holds Game --> Deck : holds World "1" --> "1..*" Continent : composed of Continent "1" --> "1..*" Territory : composed of Army "*" --> "1" Territory : defends Deck "1" --> "*" ArmyCard : shuffles Deck "1" --> "*" ChanceCard : shuffles Deck "1" --> "*" TerritoryCard : shuffles TerritoryCard "1" --> "1" Territory : denotes Player "1..*" --> "1" Game : plays Player --> Deck : draws from Player "1" --> "*" Territory : owns Player "1" --> "*" Army : has in inventory Player --> Dice : rolls ChanceCard --> Army : grants mercenaries class Game { world deck players roundPhase isPaused } class Dice { sides } class World { continents } class Continent { name territories } class Territory { name continent owner armies isPlayable } class Army { type isMercenary } class Player { avatar username color isComputer territories armies armyCards territory"> World : holds Game --> Deck : holds World "1" --> "1..*" Continent : composed of Continent "1" --> "1..*" Territory : composed of Army "*" --> "1" Territory : defends Deck "1" --> "*" ArmyCard : shuffles Deck "1" --> "*" ChanceCard : shuffles Deck "1" --> "*" TerritoryCard : shuffles TerritoryCard "1" --> "1" Territory : denotes Player "1..*" --> "1" Game : plays Player --> Deck : draws from Player "1" --> "*" Territory : owns Player "1" --> "*" Army : has in inventory Player --> Dice : rolls ChanceCard --> Army : grants mercenaries class Game { world deck players roundPhase isPaused } class Dice { sides } class World { continents } class Continent { name territories } class Territory { name continent owner armies isPlayable } class Army { type isMercenary } class Player { avatar username color isComputer territories armies armyCards territory">
%%{init: {"theme": "default"}}%%
classDiagram
	direction LR
	Game --> World : holds
	Game --> Deck : holds
	World "1" --> "1..*" Continent : composed of
	Continent "1" --> "1..*" Territory : composed of
	Army "*" --> "1" Territory : defends
	Deck "1" --> "*" ArmyCard : shuffles
	Deck "1" --> "*" ChanceCard : shuffles
	Deck "1" --> "*" TerritoryCard : shuffles
	TerritoryCard "1" --> "1" Territory : denotes
	Player "1..*" --> "1" Game : plays
	Player --> Deck : draws from
	Player "1" --> "*" Territory : owns
	Player "1" --> "*" Army : has in inventory
	Player --> Dice : rolls
	ChanceCard --> Army : grants mercenaries
	class Game {
		world
		deck
		players
		roundPhase
		isPaused
	}
	class Dice {
		sides
	}
	class World {
		continents
	}
	class Continent {
		name
		territories
	}
	class Territory {
		name
		continent
		owner
		armies
		isPlayable
	}
	class Army {
		type
		isMercenary
	}
	class Player {
		avatar
		username
		color
		isComputer
		territories
		armies
		armyCards
		territoryCards
		chanceCards
	}
	class Deck {
		armyCards
		territoryCards
		chanceCards
	}
	class ArmyCard {
		type
	}
	class ChanceCard {
		type
	}
	class TerritoryCard {
		territory
	}