ELEC2645 (2018/19) / Mbed 2 deprecated el17rrrs

Dependencies:   mbed Gamepad N5110 mbed-rtos

Committer:
RexRoshan
Date:
Thu May 09 09:49:35 2019 +0000
Revision:
0:d9cf94b41df3
Documentation has been completed and the code has been slightly modified

Who changed what in which revision?

UserRevisionLine numberNew contents of line
RexRoshan 0:d9cf94b41df3 1 #ifndef MINIENEMY_H
RexRoshan 0:d9cf94b41df3 2 #define MINIENEMY_H
RexRoshan 0:d9cf94b41df3 3
RexRoshan 0:d9cf94b41df3 4 #include "mbed.h"
RexRoshan 0:d9cf94b41df3 5 #include "N5110.h"
RexRoshan 0:d9cf94b41df3 6 #include "Gamepad.h"
RexRoshan 0:d9cf94b41df3 7
RexRoshan 0:d9cf94b41df3 8 /** MiniEnemy Class
RexRoshan 0:d9cf94b41df3 9 * @brief Enemy for the minigame
RexRoshan 0:d9cf94b41df3 10 * @author Rex Roshan Raj
RexRoshan 0:d9cf94b41df3 11 */
RexRoshan 0:d9cf94b41df3 12 class MiniEnemy
RexRoshan 0:d9cf94b41df3 13 {
RexRoshan 0:d9cf94b41df3 14
RexRoshan 0:d9cf94b41df3 15 public:
RexRoshan 0:d9cf94b41df3 16 /** Constructor */
RexRoshan 0:d9cf94b41df3 17 MiniEnemy();
RexRoshan 0:d9cf94b41df3 18
RexRoshan 0:d9cf94b41df3 19 /** Destructor */
RexRoshan 0:d9cf94b41df3 20 ~MiniEnemy();
RexRoshan 0:d9cf94b41df3 21
RexRoshan 0:d9cf94b41df3 22 /** Initialises the parameters */
RexRoshan 0:d9cf94b41df3 23 void init();
RexRoshan 0:d9cf94b41df3 24
RexRoshan 0:d9cf94b41df3 25 /** Generates the location
RexRoshan 0:d9cf94b41df3 26 * @brief Generates and sets the location of the enemy once it has been hit
RexRoshan 0:d9cf94b41df3 27 */
RexRoshan 0:d9cf94b41df3 28 Vector2D location();
RexRoshan 0:d9cf94b41df3 29
RexRoshan 0:d9cf94b41df3 30 /** Draws the enemy
RexRoshan 0:d9cf94b41df3 31 * @param N5110 lcd
RexRoshan 0:d9cf94b41df3 32 * @brief Draws the enemy in stage one
RexRoshan 0:d9cf94b41df3 33 */
RexRoshan 0:d9cf94b41df3 34 void enemy(N5110 &lcd);
RexRoshan 0:d9cf94b41df3 35
RexRoshan 0:d9cf94b41df3 36 /** Updates the movement
RexRoshan 0:d9cf94b41df3 37 * @brief Changes the y position for animation once the enemy has died
RexRoshan 0:d9cf94b41df3 38 */
RexRoshan 0:d9cf94b41df3 39 void update();
RexRoshan 0:d9cf94b41df3 40
RexRoshan 0:d9cf94b41df3 41 /** Adds the value of score by 1 */
RexRoshan 0:d9cf94b41df3 42 void add_score();
RexRoshan 0:d9cf94b41df3 43
RexRoshan 0:d9cf94b41df3 44 /** Gets the value of the score
RexRoshan 0:d9cf94b41df3 45 * @returns value in range 0 to 10
RexRoshan 0:d9cf94b41df3 46 */
RexRoshan 0:d9cf94b41df3 47 int get_score();
RexRoshan 0:d9cf94b41df3 48
RexRoshan 0:d9cf94b41df3 49 /** Adds the value of health by 1 */
RexRoshan 0:d9cf94b41df3 50 void add_health();
RexRoshan 0:d9cf94b41df3 51
RexRoshan 0:d9cf94b41df3 52 /** Gets the value of the health
RexRoshan 0:d9cf94b41df3 53 * @returns value in range 0 to 5
RexRoshan 0:d9cf94b41df3 54 */
RexRoshan 0:d9cf94b41df3 55 int get_health();
RexRoshan 0:d9cf94b41df3 56
RexRoshan 0:d9cf94b41df3 57 /** Sets the value of the health
RexRoshan 0:d9cf94b41df3 58 * @returns value of 0
RexRoshan 0:d9cf94b41df3 59 */
RexRoshan 0:d9cf94b41df3 60 int set_health();
RexRoshan 0:d9cf94b41df3 61
RexRoshan 0:d9cf94b41df3 62 /** Adds 1 to movement speed*/
RexRoshan 0:d9cf94b41df3 63 void add_fast();
RexRoshan 0:d9cf94b41df3 64
RexRoshan 0:d9cf94b41df3 65 /** Gets the value of the fast
RexRoshan 0:d9cf94b41df3 66 * @returns value in range 1 to 7
RexRoshan 0:d9cf94b41df3 67 */
RexRoshan 0:d9cf94b41df3 68 int get_fast();
RexRoshan 0:d9cf94b41df3 69
RexRoshan 0:d9cf94b41df3 70 /** Sets the value of the fast
RexRoshan 0:d9cf94b41df3 71 * @returns value in range 0
RexRoshan 0:d9cf94b41df3 72 */
RexRoshan 0:d9cf94b41df3 73 int set_fast();
RexRoshan 0:d9cf94b41df3 74
RexRoshan 0:d9cf94b41df3 75 /** Gets the position of the enemy
RexRoshan 0:d9cf94b41df3 76 * @returns a struct with x,y members which corresponds to x and y position respectively
RexRoshan 0:d9cf94b41df3 77 */
RexRoshan 0:d9cf94b41df3 78 Vector2D get_enemy_pos();
RexRoshan 0:d9cf94b41df3 79
RexRoshan 0:d9cf94b41df3 80 /** Sets the position of the enemy
RexRoshan 0:d9cf94b41df3 81 * @param position of the enemy
RexRoshan 0:d9cf94b41df3 82 */
RexRoshan 0:d9cf94b41df3 83 void set_enemy_pos(Vector2D e);
RexRoshan 0:d9cf94b41df3 84
RexRoshan 0:d9cf94b41df3 85
RexRoshan 0:d9cf94b41df3 86 private:
RexRoshan 0:d9cf94b41df3 87
RexRoshan 0:d9cf94b41df3 88 // methods
RexRoshan 0:d9cf94b41df3 89 Vector2D _location;
RexRoshan 0:d9cf94b41df3 90 int a;
RexRoshan 0:d9cf94b41df3 91 int b;
RexRoshan 0:d9cf94b41df3 92 int x;
RexRoshan 0:d9cf94b41df3 93 int y;
RexRoshan 0:d9cf94b41df3 94 int _fast;
RexRoshan 0:d9cf94b41df3 95 int _score;
RexRoshan 0:d9cf94b41df3 96 int _health;
RexRoshan 0:d9cf94b41df3 97
RexRoshan 0:d9cf94b41df3 98 };
RexRoshan 0:d9cf94b41df3 99
RexRoshan 0:d9cf94b41df3 100 #endif