Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Dependencies: mbed
RosenEngine/RosenEngine.h@36:c25417f0d150, 2019-05-03 (annotated)
- Committer:
- ikenna1
- Date:
- Fri May 03 18:56:06 2019 +0000
- Revision:
- 36:c25417f0d150
- Parent:
- 35:3341f2bd0408
- Child:
- 37:8d8c8cce0bc7
Add health to enemies.; enemies no longer die in a single hit and now have health like the player which like the players health is handled in the health folder. Also fixed issue where game would run in menu background.
Who changed what in which revision?
User | Revision | Line number | New 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 | 36:c25417f0d150 | 30 | void check_health(); |
ikenna1 | 30:711d722f3cef | 31 | |
ikenna1 | 9:241a1a7d8527 | 32 | |
ikenna1 | 9:241a1a7d8527 | 33 | int ship_xpos; |
ikenna1 | 9:241a1a7d8527 | 34 | int ship_ypos; |
ikenna1 | 9:241a1a7d8527 | 35 | int ship_width; |
ikenna1 | 25:faba9eb44514 | 36 | int ship_height; |
ikenna1 | 25:faba9eb44514 | 37 | //*** note: add ship width and ship heirgth in place of 6 and 9 to generalize arrays after they are finished |
ikenna1 | 10:c33d7593a275 | 38 | |
ikenna1 | 2:66a4e5d7a7cd | 39 | private: |
ikenna1 | 35:3341f2bd0408 | 40 | |
ikenna1 | 30:711d722f3cef | 41 | void score(int points); |
ikenna1 | 35:3341f2bd0408 | 42 | bool check_collision(int xpos1, int ypos1,int width1,int height1,int xpos2, int ypos2,int width2,int height2); |
ikenna1 | 35:3341f2bd0408 | 43 | bool check_collision1(int xpos1,int width1,int xpos2,int width2); |
ikenna1 | 35:3341f2bd0408 | 44 | void test(); |
ikenna1 | 35:3341f2bd0408 | 45 | void seeker_ship_collision(Gamepad &pad); |
ikenna1 | 35:3341f2bd0408 | 46 | void shooter_ship_collision(Gamepad &pad); |
ikenna1 | 35:3341f2bd0408 | 47 | void shooterw_ship_collision(Gamepad &pad); |
ikenna1 | 35:3341f2bd0408 | 48 | void kestrelw_seeker_collision(Gamepad &pad); |
ikenna1 | 35:3341f2bd0408 | 49 | void imperionw_seeker_collision(Gamepad &pad); |
ikenna1 | 35:3341f2bd0408 | 50 | void kestrelw_shooter_collision(Gamepad &pad); |
ikenna1 | 35:3341f2bd0408 | 51 | void imperionw_shooter_collision(Gamepad &pad); |
ikenna1 | 4:740e14ebbc97 | 52 | |
ikenna1 | 36:c25417f0d150 | 53 | |
ikenna1 | 4:740e14ebbc97 | 54 | // Variables |
ikenna1 | 8:87a845b8575e | 55 | Ship _ship; |
ikenna1 | 9:241a1a7d8527 | 56 | Weapons _weapons; |
ikenna1 | 9:241a1a7d8527 | 57 | Menu _menu; |
ikenna1 | 15:009ccc07bb57 | 58 | Enemy _enemy; |
ikenna1 | 17:e65a9f981834 | 59 | Health _health; |
ikenna1 | 4:740e14ebbc97 | 60 | float _xjoystick; |
ikenna1 | 4:740e14ebbc97 | 61 | float _yjoystick; |
ikenna1 | 9:241a1a7d8527 | 62 | Direction _d; |
ikenna1 | 10:c33d7593a275 | 63 | int _ycursor; |
ikenna1 | 21:628fb703188f | 64 | int _shipno; |
ikenna1 | 30:711d722f3cef | 65 | int _score; |
ikenna1 | 34:6d0786582d81 | 66 | int _shno; |
ikenna1 | 34:6d0786582d81 | 67 | Vector2D _shooter1_pos; |
ikenna1 | 34:6d0786582d81 | 68 | Vector2D _shooter2_pos; |
ikenna1 | 34:6d0786582d81 | 69 | Vector2D _shooter3_pos; |
ikenna1 | 34:6d0786582d81 | 70 | Vector2D _coloc; |
ikenna1 | 36:c25417f0d150 | 71 | bool _dead; |
ikenna1 | 25:faba9eb44514 | 72 | |
ikenna1 | 2:66a4e5d7a7cd | 73 | |
ikenna1 | 2:66a4e5d7a7cd | 74 | }; |
ikenna1 | 25:faba9eb44514 | 75 | /************STUFF TO FIX****************************** |
ikenna1 | 28:6319e928f0aa | 76 | **** add sound effects for sjield braking |
ikenna1 | 28:6319e928f0aa | 77 | **** add passive shield regeneration |
ikenna1 | 29:4c7b16b5b6df | 78 | **** work on score increase |
ikenna1 | 29:4c7b16b5b6df | 79 | **** add title screen with name |
ikenna1 | 29:4c7b16b5b6df | 80 | **** make it so back asks you if you are sure and ststes that you will lose all progress |
ikenna1 | 29:4c7b16b5b6df | 81 | **** think of level system |
ikenna1 | 29:4c7b16b5b6df | 82 | **** orion should send out pulses that stun enemy ships and absorb thier shields(use draw line) |
ikenna1 | 29:4c7b16b5b6df | 83 | **** scale shields properly |
ikenna1 | 29:4c7b16b5b6df | 84 | **** fix the border issue(i.e the ships clip through healthbar) |
ikenna1 | 30:711d722f3cef | 85 | **** make it so enemy ship spawning is random use srand |
ikenna1 | 34:6d0786582d81 | 86 | **** add in options for lcd brightness and contrast |
ikenna1 | 34:6d0786582d81 | 87 | **** add in cheats |
ikenna1 | 34:6d0786582d81 | 88 | **** |
ikenna1 | 25:faba9eb44514 | 89 | */ |
ikenna1 | 35:3341f2bd0408 | 90 | #endif |
ikenna1 | 35:3341f2bd0408 | 91 | /* |
ikenna1 | 36:c25417f0d150 | 92 | changes not commited |
ikenna1 | 36:c25417f0d150 | 93 | *Fix game playing in background |
ikenna1 | 36:c25417f0d150 | 94 | *Change seeker damage to 175 |
ikenna1 | 36:c25417f0d150 | 95 | *make seeker health 5 |
ikenna1 | 36:c25417f0d150 | 96 | * implement a viewing system for enemy ships |
ikenna1 | 36:c25417f0d150 | 97 | * enemy comes from below very fast |
ikenna1 | 36:c25417f0d150 | 98 | * if you hold a button shields come up in front but not sides |
ikenna1 | 36:c25417f0d150 | 99 | * |
ikenna1 | 36:c25417f0d150 | 100 | * |
ikenna1 | 35:3341f2bd0408 | 101 | */ |