Inheritance diagram of major game objects classes

An abstract class, the base of all other classes.
Exposes the following interface:
 | Given the current time, calculates the current state of the object and
returns new object's state (alive / dead).
|
 | Given another object, returns a reaction structure for that object
(exploding, blocking, bonus etc.)
|
 | Retrieve current object's type, location, size, z-order, etc.
|
 | Check whether the object's appearance has changed since its last state
and retrieve the smallest rectangle dimensions of the change.
|
An abstract class, derived from Game Object. A base class for all moving
objects.
Exposes the following interface:
 | Introduces a direction of movement and velocity.
|
 | Given the current time, calculates new position of object.
|
An abstract class, derived from Game Object. A base class for all
exploding objects.
Exposes the following interface:
 | Introduces an exploding state for the object.
|
 | Maintains the exploding image (animation) for the object.
|
 | Calculates explosion intensity relative to the distance from effected
objects.
|
All the classes used in the game
All the classes are divided into several categories:
|