Enemy class. Written for OOP Review. Derived from life_entity.
enemy.h@1:59274d3772ec, 2011-04-01 (annotated)
- Committer:
- Nakor
- Date:
- Fri Apr 01 01:29:38 2011 +0000
- Revision:
- 1:59274d3772ec
- Parent:
- 0:91a68e5fd4b8
Documentation.
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
Nakor | 0:91a68e5fd4b8 | 1 | #ifndef _ENEMYENTITY_ |
Nakor | 0:91a68e5fd4b8 | 2 | #define _ENEMYENTITY_ |
Nakor | 0:91a68e5fd4b8 | 3 | |
Nakor | 0:91a68e5fd4b8 | 4 | #include "mbed.h" |
Nakor | 0:91a68e5fd4b8 | 5 | #include "life_entity.h" |
Nakor | 0:91a68e5fd4b8 | 6 | #include "player.h" |
Nakor | 0:91a68e5fd4b8 | 7 | |
Nakor | 0:91a68e5fd4b8 | 8 | #define DEBUG_ENEMY 0x01 |
Nakor | 0:91a68e5fd4b8 | 9 | #define DEBUG_ENEMY_VERBOSE 0x00 |
Nakor | 0:91a68e5fd4b8 | 10 | |
Nakor | 1:59274d3772ec | 11 | /** Enemy class (basic enemy) derived from life_entity. |
Nakor | 1:59274d3772ec | 12 | * |
Nakor | 1:59274d3772ec | 13 | * This class is derived from life_entity. |
Nakor | 1:59274d3772ec | 14 | * |
Nakor | 1:59274d3772ec | 15 | * Example: |
Nakor | 1:59274d3772ec | 16 | * @code |
Nakor | 1:59274d3772ec | 17 | * |
Nakor | 1:59274d3772ec | 18 | * // Create a pointer to a life_entity object. |
Nakor | 1:59274d3772ec | 19 | * life_entity *currentEnemy; |
Nakor | 1:59274d3772ec | 20 | * |
Nakor | 1:59274d3772ec | 21 | * int main() |
Nakor | 1:59274d3772ec | 22 | * { |
Nakor | 1:59274d3772ec | 23 | * // Use the pointer to create a new armoured_vehicle (derived class) |
Nakor | 1:59274d3772ec | 24 | * currentEnemy = new enemy(user); |
Nakor | 1:59274d3772ec | 25 | * } |
Nakor | 1:59274d3772ec | 26 | * @endcode |
Nakor | 1:59274d3772ec | 27 | */ |
Nakor | 0:91a68e5fd4b8 | 28 | class enemy : public life_entity |
Nakor | 0:91a68e5fd4b8 | 29 | { |
Nakor | 0:91a68e5fd4b8 | 30 | |
Nakor | 0:91a68e5fd4b8 | 31 | public: |
Nakor | 0:91a68e5fd4b8 | 32 | |
Nakor | 1:59274d3772ec | 33 | /** Enemy class constructor. |
Nakor | 1:59274d3772ec | 34 | * |
Nakor | 1:59274d3772ec | 35 | * This class is derived from life_entity. |
Nakor | 1:59274d3772ec | 36 | * |
Nakor | 1:59274d3772ec | 37 | * @param *thePlayer Pointer to the player's class. |
Nakor | 1:59274d3772ec | 38 | * |
Nakor | 1:59274d3772ec | 39 | * Example: |
Nakor | 1:59274d3772ec | 40 | * @code |
Nakor | 1:59274d3772ec | 41 | * // Create a pointer to a life_entity object. |
Nakor | 1:59274d3772ec | 42 | * life_entity *currentEnemy; // Life entity object |
Nakor | 1:59274d3772ec | 43 | * |
Nakor | 1:59274d3772ec | 44 | * int main() |
Nakor | 1:59274d3772ec | 45 | * { |
Nakor | 1:59274d3772ec | 46 | * // Use the pointer to create a new armoured_vehicle (derived class) |
Nakor | 1:59274d3772ec | 47 | * currentEnemy = new enemy(user); |
Nakor | 1:59274d3772ec | 48 | * } |
Nakor | 1:59274d3772ec | 49 | * @endcode |
Nakor | 1:59274d3772ec | 50 | */ |
Nakor | 0:91a68e5fd4b8 | 51 | enemy(player *thePlayer); |
Nakor | 0:91a68e5fd4b8 | 52 | |
Nakor | 1:59274d3772ec | 53 | /** Enemy class destructor. |
Nakor | 1:59274d3772ec | 54 | * |
Nakor | 1:59274d3772ec | 55 | * This class is derived from life_entity. |
Nakor | 1:59274d3772ec | 56 | * |
Nakor | 1:59274d3772ec | 57 | * Example: |
Nakor | 1:59274d3772ec | 58 | * @code |
Nakor | 1:59274d3772ec | 59 | * // Create a pointer to a life_entity object. |
Nakor | 1:59274d3772ec | 60 | * life_entity *currentEnemy; |
Nakor | 1:59274d3772ec | 61 | * |
Nakor | 1:59274d3772ec | 62 | * int main() |
Nakor | 1:59274d3772ec | 63 | * { |
Nakor | 1:59274d3772ec | 64 | * // Use the pointer to create a new armoured_vehicle (derived class) |
Nakor | 1:59274d3772ec | 65 | * currentEnemy = new enemy(user); |
Nakor | 1:59274d3772ec | 66 | * |
Nakor | 1:59274d3772ec | 67 | * delete currentEnemy; |
Nakor | 1:59274d3772ec | 68 | * } |
Nakor | 1:59274d3772ec | 69 | * @endcode |
Nakor | 1:59274d3772ec | 70 | */ |
Nakor | 0:91a68e5fd4b8 | 71 | virtual ~enemy(); |
Nakor | 0:91a68e5fd4b8 | 72 | |
Nakor | 1:59274d3772ec | 73 | /** Take damage from apponent. |
Nakor | 1:59274d3772ec | 74 | * |
Nakor | 1:59274d3772ec | 75 | * This applies the player's damage roll to the enemy's health after a dodge roll |
Nakor | 1:59274d3772ec | 76 | * is performed. |
Nakor | 1:59274d3772ec | 77 | * |
Nakor | 1:59274d3772ec | 78 | * @param roll The damage roll to be passed in (most likely from rollDamage()). |
Nakor | 1:59274d3772ec | 79 | * |
Nakor | 1:59274d3772ec | 80 | * Example: |
Nakor | 1:59274d3772ec | 81 | * @code |
Nakor | 1:59274d3772ec | 82 | * player *user = new player(); |
Nakor | 1:59274d3772ec | 83 | * life_entity *currentEnemy; |
Nakor | 1:59274d3772ec | 84 | * |
Nakor | 1:59274d3772ec | 85 | * int main() |
Nakor | 1:59274d3772ec | 86 | * { |
Nakor | 1:59274d3772ec | 87 | * // Use the pointer to create a new armoured_vehicle (derived class) |
Nakor | 1:59274d3772ec | 88 | * currentEnemy = new enemy(user); |
Nakor | 1:59274d3772ec | 89 | * |
Nakor | 1:59274d3772ec | 90 | * // User rolls for damage |
Nakor | 1:59274d3772ec | 91 | * int roll = user->rollDamage(); |
Nakor | 1:59274d3772ec | 92 | * // Current enemy takes the hit |
Nakor | 1:59274d3772ec | 93 | * currentEnemy->takeDamage(roll); |
Nakor | 1:59274d3772ec | 94 | * } |
Nakor | 1:59274d3772ec | 95 | * @endcode |
Nakor | 1:59274d3772ec | 96 | */ |
Nakor | 0:91a68e5fd4b8 | 97 | virtual void takeDamage(int roll); |
Nakor | 0:91a68e5fd4b8 | 98 | |
Nakor | 0:91a68e5fd4b8 | 99 | |
Nakor | 0:91a68e5fd4b8 | 100 | protected: |
Nakor | 0:91a68e5fd4b8 | 101 | |
Nakor | 0:91a68e5fd4b8 | 102 | }; |
Nakor | 0:91a68e5fd4b8 | 103 | |
Nakor | 0:91a68e5fd4b8 | 104 | #endif |