ELEC2645 (2018/19) / Mbed 2 deprecated el17aio

Dependencies:   mbed

Committer:
ikenna1
Date:
Sat Apr 20 09:05:10 2019 +0000
Revision:
32:098fbc1222cd
Parent:
30:711d722f3cef
Child:
33:7a814c874c57
* created collision for shooter missle and ship

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 30:711d722f3cef 30
ikenna1 9:241a1a7d8527 31
ikenna1 9:241a1a7d8527 32 int ship_xpos;
ikenna1 9:241a1a7d8527 33 int ship_ypos;
ikenna1 9:241a1a7d8527 34 int ship_width;
ikenna1 25:faba9eb44514 35 int ship_height;
ikenna1 25:faba9eb44514 36 //*** note: add ship width and ship heirgth in place of 6 and 9 to generalize arrays after they are finished
ikenna1 10:c33d7593a275 37
ikenna1 2:66a4e5d7a7cd 38 private:
ikenna1 32:098fbc1222cd 39 bool shooter_weapon_collision(int sh_no);
ikenna1 26:a53d41adf40b 40 bool enemy_ship_collision();
ikenna1 26:a53d41adf40b 41 bool enemy_projectile_collision();
ikenna1 30:711d722f3cef 42 void score(int points);
ikenna1 4:740e14ebbc97 43
ikenna1 4:740e14ebbc97 44 // Variables
ikenna1 8:87a845b8575e 45 Ship _ship;
ikenna1 9:241a1a7d8527 46 Weapons _weapons;
ikenna1 9:241a1a7d8527 47 Menu _menu;
ikenna1 15:009ccc07bb57 48 Enemy _enemy;
ikenna1 17:e65a9f981834 49 Health _health;
ikenna1 4:740e14ebbc97 50 float _xjoystick;
ikenna1 4:740e14ebbc97 51 float _yjoystick;
ikenna1 9:241a1a7d8527 52 Direction _d;
ikenna1 10:c33d7593a275 53 int _ycursor;
ikenna1 21:628fb703188f 54 int _shipno;
ikenna1 30:711d722f3cef 55 int _score;
ikenna1 25:faba9eb44514 56
ikenna1 2:66a4e5d7a7cd 57
ikenna1 2:66a4e5d7a7cd 58 };
ikenna1 25:faba9eb44514 59 /************STUFF TO FIX******************************
ikenna1 28:6319e928f0aa 60 **** add sound effects for sjield braking
ikenna1 28:6319e928f0aa 61 **** add passive shield regeneration
ikenna1 29:4c7b16b5b6df 62 **** work on score increase
ikenna1 29:4c7b16b5b6df 63 **** add title screen with name
ikenna1 29:4c7b16b5b6df 64 **** make it so title ship switches deopending on ship being used
ikenna1 29:4c7b16b5b6df 65 **** make it so back asks you if you are sure and ststes that you will lose all progress
ikenna1 29:4c7b16b5b6df 66 **** think of level system
ikenna1 29:4c7b16b5b6df 67 **** orion should send out pulses that stun enemy ships and absorb thier shields(use draw line)
ikenna1 29:4c7b16b5b6df 68 **** scale shields properly
ikenna1 29:4c7b16b5b6df 69 **** fix the border issue(i.e the ships clip through healthbar)
ikenna1 30:711d722f3cef 70 **** make it so enemy ship spawning is random use srand
ikenna1 25:faba9eb44514 71 */
ikenna1 2:66a4e5d7a7cd 72 #endif