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