Class Responsibility
Below is a list of classes that will used in the implementation of our game, categorized by general purpose in the game's design. Beneath each classes is stated the class's responsibility, a short description of the class, what fields will be present in the class and, in some cases, a short outline of a typical process involving the class
The "Core Process" description (listed first), provides a very high level structural description of our game's "main()" method. Expect additional updates to this page as the game development continues throughout the quarter
Core Process
- Instantiates Games
- Creates all game screens
- Handles transittions between screens
- Loads "Gameplay" screen
INPUT CLASSES
Input Handler Class:
User Input Class:
Process Outline:
- User Input (key event)
- (Input) Event Handler
- Update User Input Class
OBJECT CLASSES
World Object (Rectangle) Class
Properties:
- Contain object size / shape / position
Level Object Class: (extends World Object Class)
Particle Object Class: (extends World Object Class)
Player Class: (extends World Object Class)
Purpose:
Interpret input & set correct player animation
Properties:
State (standing / walking / falling / bleeding / etc.)
Process Outline:
- Receive Tick from Frame Class
- Check User Input Class for new Command
- Interpret user Input
- Pass information to Level Map Class
ENGINE CLASSES
Level Map Class:
Purpose:
This is the main engine of the game Keeps track of all world objects Receives
input from players Interprets input & performs collission detection Moves
objects based upon results
Properties:
Contains Level Objects / Is aware of Level Object Positions
Process Outline:
- Receives information from Player Class (Object, Moving Vector, Parameters)
- Collision Detection
- Moves Object in Level
- Returns Information
Colission Detection Class:
Frame Class:
Purpose:
This is the heartbeat of the game engine Contains Clock used to Generate
'Ticks' Synch machine clock with game speed
Properties:
- Run lifetime
- Proportion of game speed to clock speed
Process Outline:
- Generate 'Tick'
- Send 'Tick' to all Time related Elements (moving objects) on the screen