Enemy class. Written for OOP Review. Derived from life_entity.

Dependents:   life_entity

Committer:
Nakor
Date:
Fri Apr 01 01:29:38 2011 +0000
Revision:
1:59274d3772ec
Parent:
0:91a68e5fd4b8
Documentation.

Who changed what in which revision?

UserRevisionLine numberNew 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