Life entity (base class). Written for OOP Review.
Dependencies: armoured_vehicle enemy player
life_entity.h@0:cee9139ed454, 2011-03-31 (annotated)
- Committer:
- Nakor
- Date:
- Thu Mar 31 19:56:40 2011 +0000
- Revision:
- 0:cee9139ed454
- Child:
- 1:0b3582b2b45f
Documentation complete (I think).
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
Nakor | 0:cee9139ed454 | 1 | #ifndef _LIFEENTITY_ |
Nakor | 0:cee9139ed454 | 2 | #define _LIFEENTITY_ |
Nakor | 0:cee9139ed454 | 3 | |
Nakor | 0:cee9139ed454 | 4 | #include "mbed.h" |
Nakor | 0:cee9139ed454 | 5 | |
Nakor | 0:cee9139ed454 | 6 | /** Base life entity class. |
Nakor | 0:cee9139ed454 | 7 | * |
Nakor | 0:cee9139ed454 | 8 | * This class is inherited by all life entities (user, enemies, anything you can think of that |
Nakor | 0:cee9139ed454 | 9 | * is supposed to live). |
Nakor | 0:cee9139ed454 | 10 | * |
Nakor | 0:cee9139ed454 | 11 | * Example: |
Nakor | 0:cee9139ed454 | 12 | * @code |
Nakor | 0:cee9139ed454 | 13 | * // Create a pointer to a life_entity object. |
Nakor | 0:cee9139ed454 | 14 | * #include "mbed.h" |
Nakor | 0:cee9139ed454 | 15 | * #include "uOLED.h" |
Nakor | 0:cee9139ed454 | 16 | * |
Nakor | 0:cee9139ed454 | 17 | * life_entity *currentEnemy; |
Nakor | 0:cee9139ed454 | 18 | * |
Nakor | 0:cee9139ed454 | 19 | * int main() |
Nakor | 0:cee9139ed454 | 20 | * { |
Nakor | 0:cee9139ed454 | 21 | * // Use the pointer to create a new armoured_vehicle (derived class) |
Nakor | 0:cee9139ed454 | 22 | * currentEnemy = new armoured_vehicle(user); |
Nakor | 0:cee9139ed454 | 23 | * } |
Nakor | 0:cee9139ed454 | 24 | * @endcode |
Nakor | 0:cee9139ed454 | 25 | */ |
Nakor | 0:cee9139ed454 | 26 | class life_entity |
Nakor | 0:cee9139ed454 | 27 | { |
Nakor | 0:cee9139ed454 | 28 | |
Nakor | 0:cee9139ed454 | 29 | public: |
Nakor | 0:cee9139ed454 | 30 | /** Base life entity class constructor. |
Nakor | 0:cee9139ed454 | 31 | * |
Nakor | 0:cee9139ed454 | 32 | * This class is inherited by all life entities (user, enemies, anything you can think of that |
Nakor | 0:cee9139ed454 | 33 | * is supposed to live). |
Nakor | 0:cee9139ed454 | 34 | * |
Nakor | 0:cee9139ed454 | 35 | * Example: |
Nakor | 0:cee9139ed454 | 36 | * @code |
Nakor | 0:cee9139ed454 | 37 | * // Create a pointer to a life_entity object. |
Nakor | 0:cee9139ed454 | 38 | * #include "mbed.h" |
Nakor | 0:cee9139ed454 | 39 | * #include "uOLED.h" |
Nakor | 0:cee9139ed454 | 40 | * |
Nakor | 0:cee9139ed454 | 41 | * life_entity *currentEnemy; // Life entity object |
Nakor | 0:cee9139ed454 | 42 | * |
Nakor | 0:cee9139ed454 | 43 | * int main() |
Nakor | 0:cee9139ed454 | 44 | * { |
Nakor | 0:cee9139ed454 | 45 | * // Use the pointer to create a new armoured_vehicle (derived class) |
Nakor | 0:cee9139ed454 | 46 | * currentEnemy = new armoured_vehicle(user); |
Nakor | 0:cee9139ed454 | 47 | * } |
Nakor | 0:cee9139ed454 | 48 | * @endcode |
Nakor | 0:cee9139ed454 | 49 | */ |
Nakor | 0:cee9139ed454 | 50 | life_entity(); |
Nakor | 0:cee9139ed454 | 51 | |
Nakor | 0:cee9139ed454 | 52 | /** Base life entity class destructor. |
Nakor | 0:cee9139ed454 | 53 | * |
Nakor | 0:cee9139ed454 | 54 | * This class is inherited by all life entities (user, enemies, anything you can think of that |
Nakor | 0:cee9139ed454 | 55 | * is supposed to live). |
Nakor | 0:cee9139ed454 | 56 | * |
Nakor | 0:cee9139ed454 | 57 | * Example: |
Nakor | 0:cee9139ed454 | 58 | * @code |
Nakor | 0:cee9139ed454 | 59 | * // Create a pointer to a life_entity object. |
Nakor | 0:cee9139ed454 | 60 | * #include "mbed.h" |
Nakor | 0:cee9139ed454 | 61 | * #include "uOLED.h" |
Nakor | 0:cee9139ed454 | 62 | * |
Nakor | 0:cee9139ed454 | 63 | * life_entity *currentEnemy; |
Nakor | 0:cee9139ed454 | 64 | * |
Nakor | 0:cee9139ed454 | 65 | * int main() |
Nakor | 0:cee9139ed454 | 66 | * { |
Nakor | 0:cee9139ed454 | 67 | * // Use the pointer to create a new armoured_vehicle (derived class) |
Nakor | 0:cee9139ed454 | 68 | * currentEnemy = new armoured_vehicle(user); |
Nakor | 0:cee9139ed454 | 69 | * |
Nakor | 0:cee9139ed454 | 70 | * delete currentEnemy; |
Nakor | 0:cee9139ed454 | 71 | * } |
Nakor | 0:cee9139ed454 | 72 | * @endcode |
Nakor | 0:cee9139ed454 | 73 | */ |
Nakor | 0:cee9139ed454 | 74 | virtual ~life_entity(); |
Nakor | 0:cee9139ed454 | 75 | |
Nakor | 0:cee9139ed454 | 76 | /** Get number of life entities currently spawned. |
Nakor | 0:cee9139ed454 | 77 | * |
Nakor | 0:cee9139ed454 | 78 | * |
Nakor | 0:cee9139ed454 | 79 | * Example: |
Nakor | 0:cee9139ed454 | 80 | * @code |
Nakor | 0:cee9139ed454 | 81 | * char count = getLifeEntityCount(); |
Nakor | 0:cee9139ed454 | 82 | * @endcode |
Nakor | 0:cee9139ed454 | 83 | */ |
Nakor | 0:cee9139ed454 | 84 | char getLifeEntityCount(); |
Nakor | 0:cee9139ed454 | 85 | |
Nakor | 0:cee9139ed454 | 86 | /** Returns the current status of the entity's life points. |
Nakor | 0:cee9139ed454 | 87 | * |
Nakor | 0:cee9139ed454 | 88 | * |
Nakor | 0:cee9139ed454 | 89 | * Example: |
Nakor | 0:cee9139ed454 | 90 | * @code |
Nakor | 0:cee9139ed454 | 91 | * int lifePoints = getHealth(); |
Nakor | 0:cee9139ed454 | 92 | * @endcode |
Nakor | 0:cee9139ed454 | 93 | */ |
Nakor | 0:cee9139ed454 | 94 | int getHealth(); |
Nakor | 0:cee9139ed454 | 95 | |
Nakor | 0:cee9139ed454 | 96 | /** Get the current level of the entity. |
Nakor | 0:cee9139ed454 | 97 | * |
Nakor | 0:cee9139ed454 | 98 | * No error checking is performed. If you wish to use this you |
Nakor | 0:cee9139ed454 | 99 | * should consider adding a check or two. |
Nakor | 0:cee9139ed454 | 100 | * The level is currently stored in a char, and therefore maxes |
Nakor | 0:cee9139ed454 | 101 | * out at 255 (0xFF). |
Nakor | 0:cee9139ed454 | 102 | * |
Nakor | 0:cee9139ed454 | 103 | * Example: |
Nakor | 0:cee9139ed454 | 104 | * @code |
Nakor | 0:cee9139ed454 | 105 | * char currentLevel = getLevel(); |
Nakor | 0:cee9139ed454 | 106 | * @endcode |
Nakor | 0:cee9139ed454 | 107 | */ |
Nakor | 0:cee9139ed454 | 108 | char getLevel(); |
Nakor | 0:cee9139ed454 | 109 | |
Nakor | 0:cee9139ed454 | 110 | /** Entity rolls for damage. |
Nakor | 0:cee9139ed454 | 111 | * |
Nakor | 0:cee9139ed454 | 112 | * All entities use this to roll for damage (against thier opponent). |
Nakor | 0:cee9139ed454 | 113 | * |
Nakor | 0:cee9139ed454 | 114 | * Example: |
Nakor | 0:cee9139ed454 | 115 | * @code |
Nakor | 0:cee9139ed454 | 116 | * int roll = rollDamage(); |
Nakor | 0:cee9139ed454 | 117 | * @endcode |
Nakor | 0:cee9139ed454 | 118 | */ |
Nakor | 0:cee9139ed454 | 119 | int rollDamage(); |
Nakor | 0:cee9139ed454 | 120 | |
Nakor | 0:cee9139ed454 | 121 | /** Take damage from apponent. |
Nakor | 0:cee9139ed454 | 122 | * |
Nakor | 0:cee9139ed454 | 123 | * Derived classes set this up on specific to thier needs. |
Nakor | 0:cee9139ed454 | 124 | * |
Nakor | 0:cee9139ed454 | 125 | * @param roll The damage roll to be passed in (most likely from rollDamage()). |
Nakor | 0:cee9139ed454 | 126 | * |
Nakor | 0:cee9139ed454 | 127 | */ |
Nakor | 0:cee9139ed454 | 128 | virtual void takeDamage(int) { }; |
Nakor | 0:cee9139ed454 | 129 | |
Nakor | 0:cee9139ed454 | 130 | |
Nakor | 0:cee9139ed454 | 131 | protected: |
Nakor | 0:cee9139ed454 | 132 | /** |
Nakor | 0:cee9139ed454 | 133 | * Entity health variable (int). |
Nakor | 0:cee9139ed454 | 134 | */ |
Nakor | 0:cee9139ed454 | 135 | int _health; |
Nakor | 0:cee9139ed454 | 136 | |
Nakor | 0:cee9139ed454 | 137 | /** |
Nakor | 0:cee9139ed454 | 138 | * Entity level variable (char). |
Nakor | 0:cee9139ed454 | 139 | */ |
Nakor | 0:cee9139ed454 | 140 | char _level; |
Nakor | 0:cee9139ed454 | 141 | |
Nakor | 0:cee9139ed454 | 142 | /** |
Nakor | 0:cee9139ed454 | 143 | * Static entity count variable (int). |
Nakor | 0:cee9139ed454 | 144 | */ |
Nakor | 0:cee9139ed454 | 145 | static int lifeEntityCount; |
Nakor | 0:cee9139ed454 | 146 | |
Nakor | 0:cee9139ed454 | 147 | }; |
Nakor | 0:cee9139ed454 | 148 | |
Nakor | 0:cee9139ed454 | 149 | #endif |