The Game (robotDevastation
)
This chapter deals with the software for the Robot Devastation game.
The Game FSM
The game functionality is implemented as a Finite State Machine (FSM), which will be explained in the Game FSM section. Each state of the FSM represents a game state. Each game state inherits from the ManagerHub class, which allows the state to act upon the different game subsystems (user input, user interface, robot, etc).
The game first configures all the different managers. Then, all the different states are constructed and set in the FSM, which is started to run the game.
The Game Managers
The game functionality is encapsulated in different managers. Each manager is currently implemented as a singleton, as they are typically related to unique system or device (for a debate of whether this was a good idea or not, see robotDevastation#4).