Files
flippr-code/cli/Main.puml
Jonas Zeunert f75776f788 removed comment
2019-11-28 21:03:35 +01:00

70 lines
1.0 KiB
Plaintext

@startuml
class Observable {
trigger(string event)
on(string event, function fun)
}
class FlippR
class Game
Game --* Cabinet : isAchievementStrategy ?
Game --* State : observes >
Game "1" --* "*" TargetStrategy
class TargetStrategy
Target "1" o-- "1" TargetStrategy : observe <
State o-- TargetStrategy : changes <
class State {
int ballsLeft
int currentBall
}
State --* BallState
class BallState {
int score
int globalMultiplier
addScore(int points)
}
class UpperPlayFieldTimer {
int timeLeft = 0
start()
stop()
}
BallState --* UpperPlayFieldTimer
class Cabinet {
}
Observable <|-- Cabinet
Cabinet "1" --* "*" Target
Observable <|-- Target
abstract class Target {
int points
string name
hit()
}
class AchievementTarget {
}
Target "1..*" *-- "1" AchievementTarget : observe <
Target <|-- AchievementTarget
class BankTarget {
bool isHit
hit()
reset()
}
Target <|-- BankTarget
class Bank
Target <|-- Bank
Bank "1" --* "1..*" BankTarget : observe >
@enduml