-
Notifications
You must be signed in to change notification settings - Fork 1
Design Draft
telis93 edited this page May 20, 2014
·
26 revisions
- Player(username, pirate)
- Ship(Set[UpradableShipAttribute], Set[InBattleShipAttribute], Set[StandardShipAttribute], applyUpgrade(upgrade), engageBattle() )
- Upgrade(requirements: ResourcesManager, profits: Set[UpgradableShipAttribute])
- Pirate(ship, experience, name, gold, resourcesManager)
- ResourcesManager(Set[Resources], changeResourceBy(resource, offset)
- Resource(name, quantity, type, Choices: enum (Lumber, Cannons, Crew, Metal))
- Island(resourcesManager, difficulty)
- IslandManager(List[Island], createIslands())
- Raid(pirate, islandManager, calculateResult(island)
- Market -abstract(pirate)
- ResourceMarket -extends Market (resourcesManager)
- ShipMarket -extends Market ( disassembleShip(), buyShip(selectedShip), List[Ship] )
- ShipAttribute(name, value)
- UpgradableShipAttribute -extends ShipAttribute (Choices: enum (Cannons, Crew, Armor, Health), type: Choices)
- InBattleShipAttribute -extends ShipAttribute (Choices: enum (WoundedCrew, LoadedCannons), type: Choices)
- StandardShipAttribute -extends ShipAttribute (Choices: enum (MaxCannons, MaxCrew, MaxHealth), type: Choices)
- Action( name, assignedCrew, Choices: -enumeration (AttackUsingCannons, LoadCannons, RepairShip), type: Choices )
- History(List[Turn], pushTurn(Turn))
- Battle( player1, player2, history, submitTurnAndWaitForOpponent(Turn), applyResult())
- Turn(List[Action])
- UserManager(player, signIn(username, password), signUp(username, password, email)
- Manual(contents)
- Statistics(player, calculate())
- UserAdministrator(deleteUser(player), banUser(player), overviewUser(player))
- Game(startGame())