Life entity (base class). Written for OOP Review.
Dependencies: armoured_vehicle enemy player
Diff: life_entity.h
- Revision:
- 0:cee9139ed454
- Child:
- 1:0b3582b2b45f
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/life_entity.h Thu Mar 31 19:56:40 2011 +0000 @@ -0,0 +1,149 @@ +#ifndef _LIFEENTITY_ +#define _LIFEENTITY_ + +#include "mbed.h" + +/** Base life entity class. + * + * This class is inherited by all life entities (user, enemies, anything you can think of that + * is supposed to live). + * + * Example: + * @code + * // Create a pointer to a life_entity object. + * #include "mbed.h" + * #include "uOLED.h" + * + * life_entity *currentEnemy; + * + * int main() + * { + * // Use the pointer to create a new armoured_vehicle (derived class) + * currentEnemy = new armoured_vehicle(user); + * } + * @endcode + */ +class life_entity +{ + +public: + /** Base life entity class constructor. + * + * This class is inherited by all life entities (user, enemies, anything you can think of that + * is supposed to live). + * + * Example: + * @code + * // Create a pointer to a life_entity object. + * #include "mbed.h" + * #include "uOLED.h" + * + * life_entity *currentEnemy; // Life entity object + * + * int main() + * { + * // Use the pointer to create a new armoured_vehicle (derived class) + * currentEnemy = new armoured_vehicle(user); + * } + * @endcode + */ + life_entity(); + + /** Base life entity class destructor. + * + * This class is inherited by all life entities (user, enemies, anything you can think of that + * is supposed to live). + * + * Example: + * @code + * // Create a pointer to a life_entity object. + * #include "mbed.h" + * #include "uOLED.h" + * + * life_entity *currentEnemy; + * + * int main() + * { + * // Use the pointer to create a new armoured_vehicle (derived class) + * currentEnemy = new armoured_vehicle(user); + * + * delete currentEnemy; + * } + * @endcode + */ + virtual ~life_entity(); + + /** Get number of life entities currently spawned. + * + * + * Example: + * @code + * char count = getLifeEntityCount(); + * @endcode + */ + char getLifeEntityCount(); + + /** Returns the current status of the entity's life points. + * + * + * Example: + * @code + * int lifePoints = getHealth(); + * @endcode + */ + int getHealth(); + + /** Get the current level of the entity. + * + * No error checking is performed. If you wish to use this you + * should consider adding a check or two. + * The level is currently stored in a char, and therefore maxes + * out at 255 (0xFF). + * + * Example: + * @code + * char currentLevel = getLevel(); + * @endcode + */ + char getLevel(); + + /** Entity rolls for damage. + * + * All entities use this to roll for damage (against thier opponent). + * + * Example: + * @code + * int roll = rollDamage(); + * @endcode + */ + int rollDamage(); + + /** Take damage from apponent. + * + * Derived classes set this up on specific to thier needs. + * + * @param roll The damage roll to be passed in (most likely from rollDamage()). + * + */ + virtual void takeDamage(int) { }; + + +protected: + /** + * Entity health variable (int). + */ + int _health; + + /** + * Entity level variable (char). + */ + char _level; + + /** + * Static entity count variable (int). + */ + static int lifeEntityCount; + +}; + +#endif \ No newline at end of file