ELEC2645 (2018/19) / Mbed 2 deprecated el17aio

Dependencies:   mbed

Committer:
ikenna1
Date:
Sat Apr 20 14:10:47 2019 +0000
Revision:
33:7a814c874c57
Parent:
32:098fbc1222cd
Child:
34:6d0786582d81
started working on ship to shooter collision

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