[ < ] | [ > ] |  | [ << ] | [ Up ] | [ >> ] |  |  |  |  | [Top] | [Contents] | [Index] | [ ? ]

#### 4.2.4.2 Class Distribution

In this tutorial we will divide the logic into several classes:

- `AppMazing`: this is the main application class. It handles the Crystal Space event stuff and basic Crystal Space setup.
- `Game`: this is the main class controlling the game logic. It ties everything together.
- `RoomCoordinate`: this is a small class that is used to represent a coordinate in our maze. A coordinate is a three dimensional integer coordinate that represents a node in our three dimensional maze.
- `Maze`: this class is the representation of the maze. i.e. the world where the game happens. In this game we will make a three dimensional maze where every node of the maze is a sector. This class keeps track of those sectors.
- `Player`: the player with the collider (collision detection) is managed by this class. This class also takes care of player movement.
- `Adversary`: this is the enemy! Every enemy in the game will have an instance of this class. This class also manages the very primitive artificial intelligence.
- `Explosion`: whenever an adversary explodes there will be an explosion. For every explosion we have an instance of this class.
- `Laser`: the player can fire with a laserbeam. There is one instance of this class which manages visibility and collision detection of the beam.

[ < ] | [ > ] |  | [ << ] | [ Up ] | [ >> ]

This document was generated using texi2html 1.76.