ELEC2645 (2018/19) / Mbed 2 deprecated el17aio

Dependencies:   mbed

Committer:
ikenna1
Date:
Thu Apr 18 13:57:41 2019 +0000
Revision:
27:f99249e727fd
Parent:
26:a53d41adf40b
Child:
28:6319e928f0aa
change the way shields go down

Who changed what in which revision?

UserRevisionLine numberNew contents of line
ikenna1 2:66a4e5d7a7cd 1 #ifndef ROSENENGINE_H
ikenna1 2:66a4e5d7a7cd 2 #define ROSENENGINE_H
ikenna1 2:66a4e5d7a7cd 3
ikenna1 2:66a4e5d7a7cd 4 #include "mbed.h"
ikenna1 2:66a4e5d7a7cd 5 #include "N5110.h"
ikenna1 2:66a4e5d7a7cd 6 #include "Gamepad.h"
ikenna1 7:ed5870cfb3e0 7 #include "Ship.h"
ikenna1 9:241a1a7d8527 8 #include "Weapons.h"
ikenna1 9:241a1a7d8527 9 #include "Menu.h"
ikenna1 15:009ccc07bb57 10 #include "Enemy.h"
ikenna1 17:e65a9f981834 11 #include "Health.h"
ikenna1 2:66a4e5d7a7cd 12
ikenna1 2:66a4e5d7a7cd 13 class RosenEngine
ikenna1 2:66a4e5d7a7cd 14 {
ikenna1 2:66a4e5d7a7cd 15
ikenna1 2:66a4e5d7a7cd 16 public:
ikenna1 2:66a4e5d7a7cd 17 RosenEngine();
ikenna1 2:66a4e5d7a7cd 18 ~RosenEngine();
ikenna1 3:f9cd1a38d5c6 19
ikenna1 8:87a845b8575e 20 void init(int ship_width,int ship_height,int ship_speed,int ship_xpos,int ship_ypos);
ikenna1 27:f99249e727fd 21 void reset();
ikenna1 2:66a4e5d7a7cd 22 void read_input(Gamepad &pad);
ikenna1 2:66a4e5d7a7cd 23 void update(Gamepad &pad);
ikenna1 14:88ca5b1a111a 24 void draw(N5110 &lcd, Gamepad &pad);
ikenna1 9:241a1a7d8527 25 void get_pos();
ikenna1 10:c33d7593a275 26 void title(N5110 &lcd);
ikenna1 13:e114d362186d 27 int get_ycursor();
ikenna1 21:628fb703188f 28 int get_shipno();
ikenna1 12:47578eb9ea73 29 void ship_select(N5110 &lcd);
ikenna1 9:241a1a7d8527 30
ikenna1 9:241a1a7d8527 31 int ship_xpos;
ikenna1 9:241a1a7d8527 32 int ship_ypos;
ikenna1 9:241a1a7d8527 33 int ship_width;
ikenna1 25:faba9eb44514 34 int ship_height;
ikenna1 25:faba9eb44514 35 //*** note: add ship width and ship heirgth in place of 6 and 9 to generalize arrays after they are finished
ikenna1 10:c33d7593a275 36
ikenna1 2:66a4e5d7a7cd 37 private:
ikenna1 26:a53d41adf40b 38 bool ship_projectile_collision();
ikenna1 26:a53d41adf40b 39 bool enemy_ship_collision();
ikenna1 26:a53d41adf40b 40 bool enemy_projectile_collision();
ikenna1 4:740e14ebbc97 41
ikenna1 4:740e14ebbc97 42 // Variables
ikenna1 8:87a845b8575e 43 Ship _ship;
ikenna1 9:241a1a7d8527 44 Weapons _weapons;
ikenna1 9:241a1a7d8527 45 Menu _menu;
ikenna1 15:009ccc07bb57 46 Enemy _enemy;
ikenna1 17:e65a9f981834 47 Health _health;
ikenna1 4:740e14ebbc97 48 float _xjoystick;
ikenna1 4:740e14ebbc97 49 float _yjoystick;
ikenna1 9:241a1a7d8527 50 Direction _d;
ikenna1 10:c33d7593a275 51 int _ycursor;
ikenna1 21:628fb703188f 52 int _shipno;
ikenna1 25:faba9eb44514 53
ikenna1 2:66a4e5d7a7cd 54
ikenna1 2:66a4e5d7a7cd 55 };
ikenna1 25:faba9eb44514 56 /************STUFF TO FIX******************************
ikenna1 25:faba9eb44514 57 it seems that the weapons function and the enemy function thinks that the ship is locked to the top of the screen at 0,0. so while the ship can move
ikenna1 25:faba9eb44514 58 the seeker does not follow the ship and the weapon firing sprites are drawn wrongly
ikenna1 25:faba9eb44514 59 */
ikenna1 2:66a4e5d7a7cd 60 #endif