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 BEAM_H
RexRoshan 0:d9cf94b41df3 2 #define BEAM_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 #include "Spacecraft.h"
RexRoshan 0:d9cf94b41df3 8
RexRoshan 0:d9cf94b41df3 9 // gap from edge of screen
RexRoshan 0:d9cf94b41df3 10 #define GAP 2
RexRoshan 0:d9cf94b41df3 11
RexRoshan 0:d9cf94b41df3 12 /** Beam Class
RexRoshan 0:d9cf94b41df3 13 * @brief Player's spacecraft beam
RexRoshan 0:d9cf94b41df3 14 * @author Rex Roshan Raj
RexRoshan 0:d9cf94b41df3 15 */
RexRoshan 0:d9cf94b41df3 16 class Beam
RexRoshan 0:d9cf94b41df3 17 {
RexRoshan 0:d9cf94b41df3 18
RexRoshan 0:d9cf94b41df3 19 public:
RexRoshan 0:d9cf94b41df3 20
RexRoshan 0:d9cf94b41df3 21 /** Constructor */
RexRoshan 0:d9cf94b41df3 22 Beam();
RexRoshan 0:d9cf94b41df3 23
RexRoshan 0:d9cf94b41df3 24 /** Destructor */
RexRoshan 0:d9cf94b41df3 25 ~Beam();
RexRoshan 0:d9cf94b41df3 26
RexRoshan 0:d9cf94b41df3 27 /** Initialise the parameters for the player's spacecraft beam
RexRoshan 0:d9cf94b41df3 28 *@param size - size of the beam
RexRoshan 0:d9cf94b41df3 29 *@param a - x position of the spacecraft's beam
RexRoshan 0:d9cf94b41df3 30 *@param b - y position of the spacecraft's beam
RexRoshan 0:d9cf94b41df3 31 */
RexRoshan 0:d9cf94b41df3 32 void init(int size,int a, int b);
RexRoshan 0:d9cf94b41df3 33
RexRoshan 0:d9cf94b41df3 34 /** Updates the beam
RexRoshan 0:d9cf94b41df3 35 * @brief Changes the x position of the beam once it has been pressed
RexRoshan 0:d9cf94b41df3 36 */
RexRoshan 0:d9cf94b41df3 37 void update();
RexRoshan 0:d9cf94b41df3 38
RexRoshan 0:d9cf94b41df3 39 /** Draws the player's spacecraft beam
RexRoshan 0:d9cf94b41df3 40 * @param N5110 lcd
RexRoshan 0:d9cf94b41df3 41 */
RexRoshan 0:d9cf94b41df3 42 void draw(N5110 &lcd);
RexRoshan 0:d9cf94b41df3 43
RexRoshan 0:d9cf94b41df3 44 /** Gets the position of the player's spacecraft beam
RexRoshan 0:d9cf94b41df3 45 * @returns a struct with x,y members which corresponds to x and y position respectively
RexRoshan 0:d9cf94b41df3 46 */
RexRoshan 0:d9cf94b41df3 47 Vector2D get_pos();
RexRoshan 0:d9cf94b41df3 48
RexRoshan 0:d9cf94b41df3 49 /** Sets the position of the player's spacecraft beam
RexRoshan 0:d9cf94b41df3 50 * @brief Position of the player's spacecraft beam
RexRoshan 0:d9cf94b41df3 51 * @param position
RexRoshan 0:d9cf94b41df3 52 */
RexRoshan 0:d9cf94b41df3 53 void set_pos(Vector2D p);
RexRoshan 0:d9cf94b41df3 54
RexRoshan 0:d9cf94b41df3 55 private:
RexRoshan 0:d9cf94b41df3 56
RexRoshan 0:d9cf94b41df3 57
RexRoshan 0:d9cf94b41df3 58 Spacecraft _p1;
RexRoshan 0:d9cf94b41df3 59
RexRoshan 0:d9cf94b41df3 60 int _speed;
RexRoshan 0:d9cf94b41df3 61 int _size;
RexRoshan 0:d9cf94b41df3 62
RexRoshan 0:d9cf94b41df3 63 int _x;
RexRoshan 0:d9cf94b41df3 64 int _y;
RexRoshan 0:d9cf94b41df3 65 int _a;
RexRoshan 0:d9cf94b41df3 66 int _b;
RexRoshan 0:d9cf94b41df3 67
RexRoshan 0:d9cf94b41df3 68 };
RexRoshan 0:d9cf94b41df3 69
RexRoshan 0:d9cf94b41df3 70 #endif