|
|
@ -253,61 +253,6 @@ Game --> "T <-- <Player>" IManager
|
|
|
|
@enduml
|
|
|
|
@enduml
|
|
|
|
```
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
|
|
### GameRunner
|
|
|
|
|
|
|
|
GameRunner contient deux "Managers", et en est un lui-même. Game possède son propre "Manager" de Player, local à une partie.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
```plantuml
|
|
|
|
|
|
|
|
@startuml
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
skinparam classAttributeIconSize 0
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
!$todo = "#fff"
|
|
|
|
|
|
|
|
!$inprogress = "#ff9"
|
|
|
|
|
|
|
|
!$done = "#6f6"
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
package Model <<Frame>> #bada55 {
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
interface IManager<T> $done {
|
|
|
|
|
|
|
|
+Add(toAdd: T): T
|
|
|
|
|
|
|
|
+GetAll(): [*] T
|
|
|
|
|
|
|
|
+GetOneByName(name: string): T
|
|
|
|
|
|
|
|
+GetOneByID(ID: Guid): T
|
|
|
|
|
|
|
|
+Update(before: T, after: T): T
|
|
|
|
|
|
|
|
+Delete(toDelete: T)
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
package Games #daf {
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
class MasterOfCeremonies $done {
|
|
|
|
|
|
|
|
{static} +PlayGame(game: Game)
|
|
|
|
|
|
|
|
+StartNewGame(string, IManager<Player>, [*] Die): Game
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
class Game $done {
|
|
|
|
|
|
|
|
/+Name: string
|
|
|
|
|
|
|
|
/+Dice: [*] Die
|
|
|
|
|
|
|
|
+PerformTurn(player: Player)
|
|
|
|
|
|
|
|
+GetHistory(): [*] Turn
|
|
|
|
|
|
|
|
+GetWhoPlaysNow(): Player
|
|
|
|
|
|
|
|
+PrepareNextPlayer(current: Player)
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
MasterOfCeremonies -left-> "T <-- <KeyValuePair<string, [*] Die>>" IManager
|
|
|
|
|
|
|
|
MasterOfCeremonies -down-> "T <-- <Player>" IManager
|
|
|
|
|
|
|
|
MasterOfCeremonies -up-> "T <-- <Game>" IManager
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Game --> "T <-- <Player>" IManager
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@enduml
|
|
|
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
### Players
|
|
|
|
### Players
|
|
|
|
```plantuml
|
|
|
|
```plantuml
|
|
|
|
@startuml
|
|
|
|
@startuml
|
|
|
|