ELEC2645 (2017/18) / Mbed 2 deprecated fy15raf

Dependencies:   mbed

Committer:
RehamFaqehi
Date:
Mon May 07 13:29:49 2018 +0000
Revision:
15:658f1216ee84
Parent:
12:4d7f1349d796
documentation has been added

Who changed what in which revision?

UserRevisionLine numberNew contents of line
RehamFaqehi 2:3fd0d3d69556 1 #ifndef ROCKET_H
RehamFaqehi 2:3fd0d3d69556 2 #define ROCKET_H
RehamFaqehi 2:3fd0d3d69556 3
RehamFaqehi 2:3fd0d3d69556 4 #include "mbed.h"
RehamFaqehi 2:3fd0d3d69556 5 #include "N5110.h"
RehamFaqehi 2:3fd0d3d69556 6 #include "Gamepad.h"
RehamFaqehi 2:3fd0d3d69556 7
RehamFaqehi 15:658f1216ee84 8 /** Rocket Class
RehamFaqehi 15:658f1216ee84 9 * @brief class create the rocket
RehamFaqehi 15:658f1216ee84 10 * @author Reham Faqehi
RehamFaqehi 15:658f1216ee84 11 * @date May, 2018 */
RehamFaqehi 15:658f1216ee84 12
RehamFaqehi 2:3fd0d3d69556 13 class Rocket
RehamFaqehi 2:3fd0d3d69556 14 {
RehamFaqehi 2:3fd0d3d69556 15 public:
RehamFaqehi 2:3fd0d3d69556 16
RehamFaqehi 15:658f1216ee84 17 /** Constructor */
RehamFaqehi 2:3fd0d3d69556 18 Rocket();
RehamFaqehi 15:658f1216ee84 19
RehamFaqehi 15:658f1216ee84 20 /** Destructor */
RehamFaqehi 2:3fd0d3d69556 21 ~Rocket();
RehamFaqehi 15:658f1216ee84 22
RehamFaqehi 15:658f1216ee84 23 /** Initialise the rocket position,
RehamFaqehi 15:658f1216ee84 24 * speed and number of collisions.
RehamFaqehi 15:658f1216ee84 25 */
RehamFaqehi 2:3fd0d3d69556 26 void init();
RehamFaqehi 15:658f1216ee84 27
RehamFaqehi 15:658f1216ee84 28 /** Draw sprite for the Rocket shape
RehamFaqehi 15:658f1216ee84 29 * @param LCD object (N5110)
RehamFaqehi 15:658f1216ee84 30 */
RehamFaqehi 2:3fd0d3d69556 31 void draw(N5110 &lcd);
RehamFaqehi 15:658f1216ee84 32
RehamFaqehi 15:658f1216ee84 33 /** Update the rocket movements
RehamFaqehi 15:658f1216ee84 34 * @param Direction d and magnitude (float)
RehamFaqehi 15:658f1216ee84 35 */
RehamFaqehi 12:4d7f1349d796 36 void update(Direction d,float mag);
RehamFaqehi 15:658f1216ee84 37
RehamFaqehi 15:658f1216ee84 38 /** Get the rocket position
RehamFaqehi 15:658f1216ee84 39 * @return the current position
RehamFaqehi 15:658f1216ee84 40 */
RehamFaqehi 6:7b733b2a6cf6 41 Vector2D get_pos();
RehamFaqehi 15:658f1216ee84 42
RehamFaqehi 15:658f1216ee84 43 /** Increase the number of
RehamFaqehi 15:658f1216ee84 44 * collisions
RehamFaqehi 15:658f1216ee84 45 */
RehamFaqehi 12:4d7f1349d796 46 void add_collisions();
RehamFaqehi 15:658f1216ee84 47
RehamFaqehi 15:658f1216ee84 48 /** Get the number of
RehamFaqehi 15:658f1216ee84 49 * collisions
RehamFaqehi 15:658f1216ee84 50 * @return the current collision number
RehamFaqehi 15:658f1216ee84 51 */
RehamFaqehi 12:4d7f1349d796 52 int get_collisions();
RehamFaqehi 15:658f1216ee84 53
RehamFaqehi 15:658f1216ee84 54 /** Draw sprite for 3 hearts
RehamFaqehi 15:658f1216ee84 55 * @param LCD object (N5110)
RehamFaqehi 15:658f1216ee84 56 */
RehamFaqehi 7:06c86ec1f19d 57 void drawFullHearts(N5110 &lcd);
RehamFaqehi 15:658f1216ee84 58
RehamFaqehi 15:658f1216ee84 59 /** Draw sprite for 2 hearts only
RehamFaqehi 15:658f1216ee84 60 * @param LCD object (N5110)
RehamFaqehi 15:658f1216ee84 61 */
RehamFaqehi 7:06c86ec1f19d 62 void drawTwoHearts(N5110 &lcd);
RehamFaqehi 15:658f1216ee84 63
RehamFaqehi 15:658f1216ee84 64 /** Draw sprite for 1 heart only
RehamFaqehi 15:658f1216ee84 65 * @param LCD object (N5110)
RehamFaqehi 15:658f1216ee84 66 */
RehamFaqehi 7:06c86ec1f19d 67 void drawOneHeart(N5110 &lcd);
RehamFaqehi 2:3fd0d3d69556 68
RehamFaqehi 2:3fd0d3d69556 69 private:
RehamFaqehi 2:3fd0d3d69556 70
RehamFaqehi 2:3fd0d3d69556 71 int _x;
RehamFaqehi 2:3fd0d3d69556 72 int _y;
RehamFaqehi 2:3fd0d3d69556 73 int _speed;
RehamFaqehi 6:7b733b2a6cf6 74 Vector2D p;
RehamFaqehi 12:4d7f1349d796 75 int _collision;
RehamFaqehi 2:3fd0d3d69556 76
RehamFaqehi 2:3fd0d3d69556 77 };
RehamFaqehi 2:3fd0d3d69556 78 #endif