Use Cases
Use Case: Main Game
Scope: Game
Initiator:
Player
Actors: main game loop, player, graphics engine
- Game begins - initiates the following:
- graphics
- control listeners
- viewpoint
- initial values for variables
- While the game is not in end state (player has strokes remaining and has
not shot ball into hole) Use case: dt timestep
- End game - display win / loss screen
Use Case: dt Timestep
Scope: Game
Initiator: Game
Actors: main game loop, listeners, player,
graphics engine
- Get user input - Ext 1.
- Update position / velocity / acceleration values for all affected entities
- Detect Collisions - update positions again for colliding items
- Update screen
Extension 1:
Arrow keys - Enable camera
rotation mode
Left mouse button - Enable putter rotation mode
Right mouse
button - Enable putt mode
Nonfunctional Requirements
- Reasonable framerate (target: 30 fps)
- Consistent performance on different computers (read: LAC computers)
- OpenGL graphics engine
- Documentation for user guide + design
- Responsive player controls