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@38:4571537238ed, 2019-05-05 (annotated)
- Committer:
- ikenna1
- Date:
- Sun May 05 08:50:15 2019 +0000
- Revision:
- 38:4571537238ed
- Parent:
- 37:8d8c8cce0bc7
- Child:
- 39:7824f9080f59
*Add missions to game
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 | 37:8d8c8cce0bc7 | 5 | #include <ctime> |
ikenna1 | 2:66a4e5d7a7cd | 6 | #include "N5110.h" |
ikenna1 | 2:66a4e5d7a7cd | 7 | #include "Gamepad.h" |
ikenna1 | 7:ed5870cfb3e0 | 8 | #include "Ship.h" |
ikenna1 | 9:241a1a7d8527 | 9 | #include "Weapons.h" |
ikenna1 | 9:241a1a7d8527 | 10 | #include "Menu.h" |
ikenna1 | 15:009ccc07bb57 | 11 | #include "Enemy.h" |
ikenna1 | 17:e65a9f981834 | 12 | #include "Health.h" |
ikenna1 | 2:66a4e5d7a7cd | 13 | |
ikenna1 | 2:66a4e5d7a7cd | 14 | class RosenEngine |
ikenna1 | 2:66a4e5d7a7cd | 15 | { |
ikenna1 | 2:66a4e5d7a7cd | 16 | |
ikenna1 | 2:66a4e5d7a7cd | 17 | public: |
ikenna1 | 2:66a4e5d7a7cd | 18 | RosenEngine(); |
ikenna1 | 2:66a4e5d7a7cd | 19 | ~RosenEngine(); |
ikenna1 | 3:f9cd1a38d5c6 | 20 | |
ikenna1 | 8:87a845b8575e | 21 | void init(int ship_width,int ship_height,int ship_speed,int ship_xpos,int ship_ypos); |
ikenna1 | 27:f99249e727fd | 22 | void reset(); |
ikenna1 | 2:66a4e5d7a7cd | 23 | void read_input(Gamepad &pad); |
ikenna1 | 2:66a4e5d7a7cd | 24 | void update(Gamepad &pad); |
ikenna1 | 14:88ca5b1a111a | 25 | void draw(N5110 &lcd, Gamepad &pad); |
ikenna1 | 9:241a1a7d8527 | 26 | void get_pos(); |
ikenna1 | 10:c33d7593a275 | 27 | void title(N5110 &lcd); |
ikenna1 | 13:e114d362186d | 28 | int get_ycursor(); |
ikenna1 | 21:628fb703188f | 29 | int get_shipno(); |
ikenna1 | 12:47578eb9ea73 | 30 | void ship_select(N5110 &lcd); |
ikenna1 | 36:c25417f0d150 | 31 | void check_health(); |
ikenna1 | 38:4571537238ed | 32 | float timer(int fps); |
ikenna1 | 38:4571537238ed | 33 | bool dead(); |
ikenna1 | 30:711d722f3cef | 34 | |
ikenna1 | 9:241a1a7d8527 | 35 | |
ikenna1 | 9:241a1a7d8527 | 36 | int ship_xpos; |
ikenna1 | 9:241a1a7d8527 | 37 | int ship_ypos; |
ikenna1 | 9:241a1a7d8527 | 38 | int ship_width; |
ikenna1 | 25:faba9eb44514 | 39 | int ship_height; |
ikenna1 | 25:faba9eb44514 | 40 | //*** note: add ship width and ship heirgth in place of 6 and 9 to generalize arrays after they are finished |
ikenna1 | 10:c33d7593a275 | 41 | |
ikenna1 | 2:66a4e5d7a7cd | 42 | private: |
ikenna1 | 35:3341f2bd0408 | 43 | |
ikenna1 | 30:711d722f3cef | 44 | void score(int points); |
ikenna1 | 35:3341f2bd0408 | 45 | bool check_collision(int xpos1, int ypos1,int width1,int height1,int xpos2, int ypos2,int width2,int height2); |
ikenna1 | 35:3341f2bd0408 | 46 | bool check_collision1(int xpos1,int width1,int xpos2,int width2); |
ikenna1 | 35:3341f2bd0408 | 47 | void test(); |
ikenna1 | 35:3341f2bd0408 | 48 | void seeker_ship_collision(Gamepad &pad); |
ikenna1 | 35:3341f2bd0408 | 49 | void shooter_ship_collision(Gamepad &pad); |
ikenna1 | 35:3341f2bd0408 | 50 | void shooterw_ship_collision(Gamepad &pad); |
ikenna1 | 35:3341f2bd0408 | 51 | void kestrelw_seeker_collision(Gamepad &pad); |
ikenna1 | 35:3341f2bd0408 | 52 | void imperionw_seeker_collision(Gamepad &pad); |
ikenna1 | 35:3341f2bd0408 | 53 | void kestrelw_shooter_collision(Gamepad &pad); |
ikenna1 | 35:3341f2bd0408 | 54 | void imperionw_shooter_collision(Gamepad &pad); |
ikenna1 | 38:4571537238ed | 55 | void scaling(float time_elapsed); |
ikenna1 | 37:8d8c8cce0bc7 | 56 | int rand_no(); |
ikenna1 | 38:4571537238ed | 57 | void game_over(N5110 &lcd); |
ikenna1 | 4:740e14ebbc97 | 58 | |
ikenna1 | 36:c25417f0d150 | 59 | |
ikenna1 | 4:740e14ebbc97 | 60 | // Variables |
ikenna1 | 8:87a845b8575e | 61 | Ship _ship; |
ikenna1 | 9:241a1a7d8527 | 62 | Weapons _weapons; |
ikenna1 | 9:241a1a7d8527 | 63 | Menu _menu; |
ikenna1 | 15:009ccc07bb57 | 64 | Enemy _enemy; |
ikenna1 | 17:e65a9f981834 | 65 | Health _health; |
ikenna1 | 4:740e14ebbc97 | 66 | float _xjoystick; |
ikenna1 | 4:740e14ebbc97 | 67 | float _yjoystick; |
ikenna1 | 9:241a1a7d8527 | 68 | Direction _d; |
ikenna1 | 10:c33d7593a275 | 69 | int _ycursor; |
ikenna1 | 21:628fb703188f | 70 | int _shipno; |
ikenna1 | 30:711d722f3cef | 71 | int _score; |
ikenna1 | 34:6d0786582d81 | 72 | int _shno; |
ikenna1 | 34:6d0786582d81 | 73 | Vector2D _shooter1_pos; |
ikenna1 | 34:6d0786582d81 | 74 | Vector2D _shooter2_pos; |
ikenna1 | 34:6d0786582d81 | 75 | Vector2D _shooter3_pos; |
ikenna1 | 34:6d0786582d81 | 76 | Vector2D _coloc; |
ikenna1 | 36:c25417f0d150 | 77 | bool _dead; |
ikenna1 | 38:4571537238ed | 78 | int _times_run; |
ikenna1 | 38:4571537238ed | 79 | int _no_shooters; |
ikenna1 | 25:faba9eb44514 | 80 | |
ikenna1 | 2:66a4e5d7a7cd | 81 | |
ikenna1 | 2:66a4e5d7a7cd | 82 | }; |
ikenna1 | 25:faba9eb44514 | 83 | /************STUFF TO FIX****************************** |
ikenna1 | 28:6319e928f0aa | 84 | **** add sound effects for sjield braking |
ikenna1 | 28:6319e928f0aa | 85 | **** add passive shield regeneration |
ikenna1 | 29:4c7b16b5b6df | 86 | **** work on score increase |
ikenna1 | 29:4c7b16b5b6df | 87 | **** add title screen with name |
ikenna1 | 29:4c7b16b5b6df | 88 | **** make it so back asks you if you are sure and ststes that you will lose all progress |
ikenna1 | 29:4c7b16b5b6df | 89 | **** think of level system |
ikenna1 | 29:4c7b16b5b6df | 90 | **** orion should send out pulses that stun enemy ships and absorb thier shields(use draw line) |
ikenna1 | 29:4c7b16b5b6df | 91 | **** scale shields properly |
ikenna1 | 29:4c7b16b5b6df | 92 | **** fix the border issue(i.e the ships clip through healthbar) |
ikenna1 | 30:711d722f3cef | 93 | **** make it so enemy ship spawning is random use srand |
ikenna1 | 34:6d0786582d81 | 94 | **** add in options for lcd brightness and contrast |
ikenna1 | 34:6d0786582d81 | 95 | **** add in cheats |
ikenna1 | 34:6d0786582d81 | 96 | **** |
ikenna1 | 25:faba9eb44514 | 97 | */ |
ikenna1 | 35:3341f2bd0408 | 98 | #endif |
ikenna1 | 35:3341f2bd0408 | 99 | /* |
ikenna1 | 36:c25417f0d150 | 100 | changes not commited |
ikenna1 | 36:c25417f0d150 | 101 | *Fix game playing in background |
ikenna1 | 36:c25417f0d150 | 102 | *Change seeker damage to 175 |
ikenna1 | 36:c25417f0d150 | 103 | *make seeker health 5 |
ikenna1 | 36:c25417f0d150 | 104 | * implement a viewing system for enemy ships |
ikenna1 | 36:c25417f0d150 | 105 | * enemy comes from below very fast |
ikenna1 | 36:c25417f0d150 | 106 | * if you hold a button shields come up in front but not sides |
ikenna1 | 36:c25417f0d150 | 107 | * |
ikenna1 | 36:c25417f0d150 | 108 | * |
ikenna1 | 35:3341f2bd0408 | 109 | */ |