JianWei Lee
/
project_game
Meteor defense project
GUI/GUI.h@50:082feedcdd22, 2017-05-04 (annotated)
- Committer:
- jasper0712
- Date:
- Thu May 04 16:55:26 2017 +0000
- Revision:
- 50:082feedcdd22
converted library to folder
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
jasper0712 | 50:082feedcdd22 | 1 | #ifndef GUI_H |
jasper0712 | 50:082feedcdd22 | 2 | #define GUI_H |
jasper0712 | 50:082feedcdd22 | 3 | |
jasper0712 | 50:082feedcdd22 | 4 | #include "mbed.h" |
jasper0712 | 50:082feedcdd22 | 5 | #include "N5110.h" |
jasper0712 | 50:082feedcdd22 | 6 | #include "Gamepad.h" |
jasper0712 | 50:082feedcdd22 | 7 | #include "Weapon.h" |
jasper0712 | 50:082feedcdd22 | 8 | #include "Spawn.h" |
jasper0712 | 50:082feedcdd22 | 9 | |
jasper0712 | 50:082feedcdd22 | 10 | //position of cursor |
jasper0712 | 50:082feedcdd22 | 11 | struct Cursors { |
jasper0712 | 50:082feedcdd22 | 12 | int number_y; |
jasper0712 | 50:082feedcdd22 | 13 | int number_x; |
jasper0712 | 50:082feedcdd22 | 14 | }; |
jasper0712 | 50:082feedcdd22 | 15 | |
jasper0712 | 50:082feedcdd22 | 16 | //struct to store the ugprade data |
jasper0712 | 50:082feedcdd22 | 17 | struct Data { |
jasper0712 | 50:082feedcdd22 | 18 | int up; |
jasper0712 | 50:082feedcdd22 | 19 | int up1; |
jasper0712 | 50:082feedcdd22 | 20 | int u1p; |
jasper0712 | 50:082feedcdd22 | 21 | int u1p1; |
jasper0712 | 50:082feedcdd22 | 22 | }; |
jasper0712 | 50:082feedcdd22 | 23 | |
jasper0712 | 50:082feedcdd22 | 24 | /** GUI Class |
jasper0712 | 50:082feedcdd22 | 25 | @brief User interface class for the game |
jasper0712 | 50:082feedcdd22 | 26 | @author JianWei Lee |
jasper0712 | 50:082feedcdd22 | 27 | @date April 2017 |
jasper0712 | 50:082feedcdd22 | 28 | */ |
jasper0712 | 50:082feedcdd22 | 29 | class GUI |
jasper0712 | 50:082feedcdd22 | 30 | { |
jasper0712 | 50:082feedcdd22 | 31 | |
jasper0712 | 50:082feedcdd22 | 32 | |
jasper0712 | 50:082feedcdd22 | 33 | public: |
jasper0712 | 50:082feedcdd22 | 34 | GUI(); |
jasper0712 | 50:082feedcdd22 | 35 | ~GUI(); |
jasper0712 | 50:082feedcdd22 | 36 | |
jasper0712 | 50:082feedcdd22 | 37 | /**Starting Menu Strings |
jasper0712 | 50:082feedcdd22 | 38 | * |
jasper0712 | 50:082feedcdd22 | 39 | *Few strings to be printed on the lcd before starting the game |
jasper0712 | 50:082feedcdd22 | 40 | */ |
jasper0712 | 50:082feedcdd22 | 41 | void startingMenu(N5110 &lcd); |
jasper0712 | 50:082feedcdd22 | 42 | |
jasper0712 | 50:082feedcdd22 | 43 | |
jasper0712 | 50:082feedcdd22 | 44 | /**Weapon Upgrades |
jasper0712 | 50:082feedcdd22 | 45 | * |
jasper0712 | 50:082feedcdd22 | 46 | *@brief 2 points will be given for upgrades\n |
jasper0712 | 50:082feedcdd22 | 47 | *@brief Start button to enter the upgrade page\n |
jasper0712 | 50:082feedcdd22 | 48 | *@brief Press button A to select\n |
jasper0712 | 50:082feedcdd22 | 49 | *@brief After spending 2 points, press Start button again to continue game\n |
jasper0712 | 50:082feedcdd22 | 50 | *@param a - laser damage |
jasper0712 | 50:082feedcdd22 | 51 | *@param b - bomb damage |
jasper0712 | 50:082feedcdd22 | 52 | *@param c - bomb radius |
jasper0712 | 50:082feedcdd22 | 53 | *@param d - bomb cooldown |
jasper0712 | 50:082feedcdd22 | 54 | *@param e - drone damage |
jasper0712 | 50:082feedcdd22 | 55 | *@param f - drone range |
jasper0712 | 50:082feedcdd22 | 56 | *@param g - shield capacity |
jasper0712 | 50:082feedcdd22 | 57 | *@param h - sheild regenerative rate |
jasper0712 | 50:082feedcdd22 | 58 | *@param i - cannon damage |
jasper0712 | 50:082feedcdd22 | 59 | *@param j - cannon capacity |
jasper0712 | 50:082feedcdd22 | 60 | *@param k - cannon regenerative rate |
jasper0712 | 50:082feedcdd22 | 61 | */ |
jasper0712 | 50:082feedcdd22 | 62 | void upgrades(int a, int b, int c, int d, int e, int f, int g, int h, int i, int j, int k, Gamepad &pad, N5110 &lcd); |
jasper0712 | 50:082feedcdd22 | 63 | |
jasper0712 | 50:082feedcdd22 | 64 | /**Prevent pad double click |
jasper0712 | 50:082feedcdd22 | 65 | * |
jasper0712 | 50:082feedcdd22 | 66 | *@brief Double clicking always happens on the pad and it breaks the game \n |
jasper0712 | 50:082feedcdd22 | 67 | *@brief Clear off the event flag for unintended clicks |
jasper0712 | 50:082feedcdd22 | 68 | */ |
jasper0712 | 50:082feedcdd22 | 69 | void preventDoubleClick(Gamepad &pad); |
jasper0712 | 50:082feedcdd22 | 70 | |
jasper0712 | 50:082feedcdd22 | 71 | /**Get Upgrades Data |
jasper0712 | 50:082feedcdd22 | 72 | * |
jasper0712 | 50:082feedcdd22 | 73 | *@brief The weapon that is upgraded will be saved in the struct Data using numbers \n |
jasper0712 | 50:082feedcdd22 | 74 | *@brief Return weapon's number and variable's number. |
jasper0712 | 50:082feedcdd22 | 75 | */ |
jasper0712 | 50:082feedcdd22 | 76 | Data get_data(); |
jasper0712 | 50:082feedcdd22 | 77 | |
jasper0712 | 50:082feedcdd22 | 78 | int upgrading_flag; |
jasper0712 | 50:082feedcdd22 | 79 | int upgrading1_flag; |
jasper0712 | 50:082feedcdd22 | 80 | int saveTheData_flag; |
jasper0712 | 50:082feedcdd22 | 81 | |
jasper0712 | 50:082feedcdd22 | 82 | |
jasper0712 | 50:082feedcdd22 | 83 | private: |
jasper0712 | 50:082feedcdd22 | 84 | |
jasper0712 | 50:082feedcdd22 | 85 | int cc; |
jasper0712 | 50:082feedcdd22 | 86 | int options; |
jasper0712 | 50:082feedcdd22 | 87 | char pointsRemaining[10]; |
jasper0712 | 50:082feedcdd22 | 88 | char upgrade1[12]; |
jasper0712 | 50:082feedcdd22 | 89 | char upgrade2[12]; |
jasper0712 | 50:082feedcdd22 | 90 | char upgrade3[12]; |
jasper0712 | 50:082feedcdd22 | 91 | |
jasper0712 | 50:082feedcdd22 | 92 | |
jasper0712 | 50:082feedcdd22 | 93 | |
jasper0712 | 50:082feedcdd22 | 94 | int pointsUpgrade; |
jasper0712 | 50:082feedcdd22 | 95 | int pointsGiven; |
jasper0712 | 50:082feedcdd22 | 96 | int upgradePicked; |
jasper0712 | 50:082feedcdd22 | 97 | int upgradePicked1; |
jasper0712 | 50:082feedcdd22 | 98 | int upgrade1Picked; |
jasper0712 | 50:082feedcdd22 | 99 | int upgrade1Picked1; |
jasper0712 | 50:082feedcdd22 | 100 | |
jasper0712 | 50:082feedcdd22 | 101 | //function to move the cursor up and down |
jasper0712 | 50:082feedcdd22 | 102 | Cursors cursor(Gamepad &pad); |
jasper0712 | 50:082feedcdd22 | 103 | int cursor_y; |
jasper0712 | 50:082feedcdd22 | 104 | int cursor_y1; |
jasper0712 | 50:082feedcdd22 | 105 | //simply draw a square cursor depends on the cursor Y position |
jasper0712 | 50:082feedcdd22 | 106 | void drawCursor(int Cy, N5110 &lcd); |
jasper0712 | 50:082feedcdd22 | 107 | |
jasper0712 | 50:082feedcdd22 | 108 | //contains printstring in all the page |
jasper0712 | 50:082feedcdd22 | 109 | void main_UpgradesPage(N5110 &lcd); |
jasper0712 | 50:082feedcdd22 | 110 | void laser_UpgradesPage(int laserDamage, N5110 &lcd); |
jasper0712 | 50:082feedcdd22 | 111 | void bomb_UpgradesPage(int bombDamage, int bombR, int bombCooldown, N5110 &lcd); |
jasper0712 | 50:082feedcdd22 | 112 | void drone_UpgradesPage(int droneDamage, int droneRange, N5110 &lcd); |
jasper0712 | 50:082feedcdd22 | 113 | void shield_UpgradesPage(int shieldCapacity, int shieldRegenRate, N5110 &lcd); |
jasper0712 | 50:082feedcdd22 | 114 | void cannon_UpgradesPage(int cannonDamage, int cannonCapacity, int cannonRegenRate, N5110 &lcd); |
jasper0712 | 50:082feedcdd22 | 115 | |
jasper0712 | 50:082feedcdd22 | 116 | //save the upgrade data for later use in Weapon library |
jasper0712 | 50:082feedcdd22 | 117 | //and manage the upgrade points |
jasper0712 | 50:082feedcdd22 | 118 | void upgradesData(Gamepad &pad); |
jasper0712 | 50:082feedcdd22 | 119 | |
jasper0712 | 50:082feedcdd22 | 120 | //this to check the buttons pressed when upgrading weapon and play tone to notify player |
jasper0712 | 50:082feedcdd22 | 121 | void pad_events(Gamepad &pad); |
jasper0712 | 50:082feedcdd22 | 122 | |
jasper0712 | 50:082feedcdd22 | 123 | }; |
jasper0712 | 50:082feedcdd22 | 124 | |
jasper0712 | 50:082feedcdd22 | 125 | #endif |