Solar Striker

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 SPACECRAFT_H
RexRoshan 0:d9cf94b41df3 2 #define SPACECRAFT_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 /** Spacecraft Class
RexRoshan 0:d9cf94b41df3 9 * @brief Player's spacecraft
RexRoshan 0:d9cf94b41df3 10 * @author Rex Roshan Raj
RexRoshan 0:d9cf94b41df3 11 */
RexRoshan 0:d9cf94b41df3 12 class Spacecraft
RexRoshan 0:d9cf94b41df3 13 {
RexRoshan 0:d9cf94b41df3 14
RexRoshan 0:d9cf94b41df3 15 public:
RexRoshan 0:d9cf94b41df3 16
RexRoshan 0:d9cf94b41df3 17 /** Constructor */
RexRoshan 0:d9cf94b41df3 18 Spacecraft();
RexRoshan 0:d9cf94b41df3 19
RexRoshan 0:d9cf94b41df3 20 /** Destructor */
RexRoshan 0:d9cf94b41df3 21 ~Spacecraft();
RexRoshan 0:d9cf94b41df3 22
RexRoshan 0:d9cf94b41df3 23 /** Initialise the parameters for the player's spacecraft
RexRoshan 0:d9cf94b41df3 24 *@param a - x position of the enemy
RexRoshan 0:d9cf94b41df3 25 *@param b - y position of the enemy
RexRoshan 0:d9cf94b41df3 26 */
RexRoshan 0:d9cf94b41df3 27 void init(int x,int y);
RexRoshan 0:d9cf94b41df3 28
RexRoshan 0:d9cf94b41df3 29 /** Draws the player's spacecraft
RexRoshan 0:d9cf94b41df3 30 * @param N5110 lcd
RexRoshan 0:d9cf94b41df3 31 */
RexRoshan 0:d9cf94b41df3 32 void character(N5110 &lcd);
RexRoshan 0:d9cf94b41df3 33
RexRoshan 0:d9cf94b41df3 34 /** Updates the direction
RexRoshan 0:d9cf94b41df3 35 * @param Direction d - the direction the player moves using joystick
RexRoshan 0:d9cf94b41df3 36 * @param mag - magnitude of the how fast the player moves
RexRoshan 0:d9cf94b41df3 37 * @brief Changes the direction based on the position of the joystick
RexRoshan 0:d9cf94b41df3 38 */
RexRoshan 0:d9cf94b41df3 39 void update(Direction d,float mag);
RexRoshan 0:d9cf94b41df3 40
RexRoshan 0:d9cf94b41df3 41 /** Updates move
RexRoshan 0:d9cf94b41df3 42 * @brief Moves the spacecraft down when the player dies
RexRoshan 0:d9cf94b41df3 43 */
RexRoshan 0:d9cf94b41df3 44 void update_move();
RexRoshan 0:d9cf94b41df3 45
RexRoshan 0:d9cf94b41df3 46 /** Adds the value of health by 1 */
RexRoshan 0:d9cf94b41df3 47 void add_health();
RexRoshan 0:d9cf94b41df3 48
RexRoshan 0:d9cf94b41df3 49 /** Gets the value of the health
RexRoshan 0:d9cf94b41df3 50 * @returns value in range 0 to 6
RexRoshan 0:d9cf94b41df3 51 */
RexRoshan 0:d9cf94b41df3 52 int get_health();
RexRoshan 0:d9cf94b41df3 53
RexRoshan 0:d9cf94b41df3 54 /** Gets the position of the player's spacecraft
RexRoshan 0:d9cf94b41df3 55 * @returns a struct with x,y members which corresponds to x and y position respectively
RexRoshan 0:d9cf94b41df3 56 */
RexRoshan 0:d9cf94b41df3 57 Vector2D get_pos();
RexRoshan 0:d9cf94b41df3 58
RexRoshan 0:d9cf94b41df3 59 private:
RexRoshan 0:d9cf94b41df3 60
RexRoshan 0:d9cf94b41df3 61 int _x;
RexRoshan 0:d9cf94b41df3 62 int _y;
RexRoshan 0:d9cf94b41df3 63 int _speed;
RexRoshan 0:d9cf94b41df3 64 int _health;
RexRoshan 0:d9cf94b41df3 65 int _increment;
RexRoshan 0:d9cf94b41df3 66
RexRoshan 0:d9cf94b41df3 67 };
RexRoshan 0:d9cf94b41df3 68
RexRoshan 0:d9cf94b41df3 69 #endif