A retro gaming programme, designed for use on a portable embedded system. Incorporates power saving techniques.
Dependencies: ConfigFile N5110 PowerControl beep mbed
tower.h@73:1b03202c987a, 2015-05-10 (annotated)
- Committer:
- el13drt
- Date:
- Sun May 10 06:58:58 2015 +0000
- Revision:
- 73:1b03202c987a
- Parent:
- 72:ade25d595dc9
- Child:
- 74:d76be537bafd
pre score fix;
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
el13drt | 62:827cda7a2663 | 1 | /** |
el13drt | 62:827cda7a2663 | 2 | @file tower.h |
el13drt | 62:827cda7a2663 | 3 | @brief Revision 1.0. |
el13drt | 62:827cda7a2663 | 4 | @author Daniel R. Tomlinson |
el13drt | 62:827cda7a2663 | 5 | @date May 2015 |
el13drt | 13:a1b3a373c5a4 | 6 | |
el13drt | 62:827cda7a2663 | 7 | @brief Header file - Contains Global Variables, Inputs/Outputs and Function prototypes. |
el13drt | 62:827cda7a2663 | 8 | */ |
el13drt | 62:827cda7a2663 | 9 | |
el13drt | 62:827cda7a2663 | 10 | ///Alters tolerance of Joystick directions |
el13drt | 13:a1b3a373c5a4 | 11 | #define DIRECTION_TOLERANCE 0.05 |
el13drt | 54:8180eec1656d | 12 | #include "ConfigFile.h" |
el13drt | 12:eedda6554615 | 13 | |
el13drt | 62:827cda7a2663 | 14 | /** |
el13drt | 62:827cda7a2663 | 15 | @namespace lcd |
el13drt | 63:ff9b64b23d26 | 16 | @brief Object of the N5110 class, allocates pins to the LCD screen |
el13drt | 63:ff9b64b23d26 | 17 | (VCC, SCE, RST, D/C, MOSI, SCLK, LED). |
el13drt | 62:827cda7a2663 | 18 | */ |
el13drt | 62:827cda7a2663 | 19 | N5110 lcd(p7,p8,p9,p10,p11,p13,p22);//VCC, SCE, RST, D/C, MOSI, SCLK, LED - assign pins for LCD. |
el13drt | 55:bb4f6cc196c8 | 20 | |
el13drt | 64:715fb5a1e58b | 21 | LocalFileSystem local("local"); |
el13drt | 64:715fb5a1e58b | 22 | |
el13drt | 62:827cda7a2663 | 23 | /** |
el13drt | 63:ff9b64b23d26 | 24 | @namespace cfg |
el13drt | 63:ff9b64b23d26 | 25 | @brief Object of the ConfigFile, used to create read/write file path within the Mbeds flash memory. |
el13drt | 62:827cda7a2663 | 26 | */ |
el13drt | 54:8180eec1656d | 27 | ConfigFile cfg; |
el13drt | 24:eb80956e2e95 | 28 | |
el13drt | 62:827cda7a2663 | 29 | /** |
el13drt | 63:ff9b64b23d26 | 30 | @namespace serial |
el13drt | 63:ff9b64b23d26 | 31 | @brief Serial port out - Generic protocol used to send and receive data, used for debugging. |
el13drt | 62:827cda7a2663 | 32 | */ |
el13drt | 54:8180eec1656d | 33 | Serial serial(USBTX, USBRX); |
el13drt | 54:8180eec1656d | 34 | |
el13drt | 62:827cda7a2663 | 35 | /** |
el13drt | 63:ff9b64b23d26 | 36 | @namespace timerA |
el13drt | 63:ff9b64b23d26 | 37 | @brief Calls the function, timerExpiredA(); at intervals of 0.1 sec. |
el13drt | 62:827cda7a2663 | 38 | */ |
el13drt | 35:9f55326c1b0a | 39 | Ticker timerA;//for buttonA |
el13drt | 62:827cda7a2663 | 40 | |
el13drt | 62:827cda7a2663 | 41 | /** |
el13drt | 63:ff9b64b23d26 | 42 | @namespace timerB |
el13drt | 63:ff9b64b23d26 | 43 | @brief Calls the function, timerExpiredB(); at intervals of 0.1 sec. |
el13drt | 62:827cda7a2663 | 44 | */ |
el13drt | 35:9f55326c1b0a | 45 | Ticker timerB;//for buttonB |
el13drt | 15:ff3eb0091453 | 46 | |
el13drt | 62:827cda7a2663 | 47 | /** |
el13drt | 63:ff9b64b23d26 | 48 | @namespace pollJoystick |
el13drt | 63:ff9b64b23d26 | 49 | @brief Calls the function, updateJoystick(); at intervals of 1/10 seconds. |
el13drt | 62:827cda7a2663 | 50 | */ |
el13drt | 62:827cda7a2663 | 51 | Ticker pollJoystick; |
el13drt | 62:827cda7a2663 | 52 | |
el13drt | 62:827cda7a2663 | 53 | /** |
el13drt | 65:c5dad703f752 | 54 | @namespace standby |
el13drt | 66:d5174aa5839d | 55 | @brief Calls the function, screenOff(); at intervals of 60 seconds. |
el13drt | 65:c5dad703f752 | 56 | */ |
el13drt | 65:c5dad703f752 | 57 | Ticker standby; |
el13drt | 65:c5dad703f752 | 58 | |
el13drt | 65:c5dad703f752 | 59 | /** |
el13drt | 63:ff9b64b23d26 | 60 | @namespace buzzer |
el13drt | 63:ff9b64b23d26 | 61 | @brief Object of the beep class, allocates a pin to the Piezo buzzer. |
el13drt | 62:827cda7a2663 | 62 | */ |
el13drt | 13:a1b3a373c5a4 | 63 | Beep buzzer(p21); |
el13drt | 13:a1b3a373c5a4 | 64 | |
el13drt | 62:827cda7a2663 | 65 | /** |
el13drt | 62:827cda7a2663 | 66 | @namespace buttonA |
el13drt | 63:ff9b64b23d26 | 67 | @brief Object of DigitalIn, allocates a pin to push button A. |
el13drt | 62:827cda7a2663 | 68 | */ |
el13drt | 62:827cda7a2663 | 69 | DigitalIn buttonA(p20); |
el13drt | 13:a1b3a373c5a4 | 70 | |
el13drt | 62:827cda7a2663 | 71 | /** |
el13drt | 62:827cda7a2663 | 72 | @namespace buttonB |
el13drt | 63:ff9b64b23d26 | 73 | @brief Object of DigitalIn, allocates a pin to push button B. |
el13drt | 62:827cda7a2663 | 74 | */ |
el13drt | 62:827cda7a2663 | 75 | DigitalIn buttonB(p19); |
el13drt | 62:827cda7a2663 | 76 | |
el13drt | 62:827cda7a2663 | 77 | /** |
el13drt | 62:827cda7a2663 | 78 | @namespace ledA. |
el13drt | 63:ff9b64b23d26 | 79 | @brief Object of AnalgOut,allocates a pin to the Action LED. |
el13drt | 62:827cda7a2663 | 80 | */ |
el13drt | 47:88e3e6c0452d | 81 | AnalogOut ledA(p18);//action LED |
el13drt | 62:827cda7a2663 | 82 | |
el13drt | 62:827cda7a2663 | 83 | /** |
el13drt | 62:827cda7a2663 | 84 | @namespace ledP. |
el13drt | 63:ff9b64b23d26 | 85 | @brief Object of DigitalOut, allocates a pin to the Power LED. |
el13drt | 62:827cda7a2663 | 86 | */ |
el13drt | 47:88e3e6c0452d | 87 | DigitalOut ledP(p24);//Power LED |
el13drt | 13:a1b3a373c5a4 | 88 | |
el13drt | 62:827cda7a2663 | 89 | /** |
el13drt | 62:827cda7a2663 | 90 | @namespace joyButton. |
el13drt | 63:ff9b64b23d26 | 91 | @brief Object of InterruptIn, allocates a pin to the Joy Stick button. |
el13drt | 62:827cda7a2663 | 92 | */ |
el13drt | 14:c2c969e1c6e8 | 93 | InterruptIn joyButton(p17);//Interrupt for ISR |
el13drt | 62:827cda7a2663 | 94 | |
el13drt | 62:827cda7a2663 | 95 | /** |
el13drt | 62:827cda7a2663 | 96 | @namespace xpot. |
el13drt | 63:ff9b64b23d26 | 97 | @brief Objct of AnalogIn, allocates a pin to xPot. |
el13drt | 62:827cda7a2663 | 98 | */ |
el13drt | 35:9f55326c1b0a | 99 | AnalogIn xPot(p15);//left/right |
el13drt | 62:827cda7a2663 | 100 | |
el13drt | 62:827cda7a2663 | 101 | /** |
el13drt | 62:827cda7a2663 | 102 | @namespace ypot. |
el13drt | 63:ff9b64b23d26 | 103 | @brief Objct of AnalogIn, allocates a pin to yPot. |
el13drt | 62:827cda7a2663 | 104 | */ |
el13drt | 35:9f55326c1b0a | 105 | AnalogIn yPot(p16);//up/down |
el13drt | 13:a1b3a373c5a4 | 106 | |
el13drt | 62:827cda7a2663 | 107 | //Globabl Variables |
el13drt | 12:eedda6554615 | 108 | |
el13drt | 35:9f55326c1b0a | 109 | //sound FX toggle |
el13drt | 62:827cda7a2663 | 110 | int FX = 0;/*!< Toggle for Sound FX. */ |
el13drt | 17:242ccf6a8442 | 111 | |
el13drt | 35:9f55326c1b0a | 112 | //previous Direction |
el13drt | 40:56ab6d368e9b | 113 | //stops continuous scrolling on some features |
el13drt | 62:827cda7a2663 | 114 | int preDirection;/*!< Used to stop continuous scrolling. */ |
el13drt | 34:9dc844bdc776 | 115 | |
el13drt | 35:9f55326c1b0a | 116 | //timer flags to check state of the buttons |
el13drt | 62:827cda7a2663 | 117 | int buttonFlagA = 0;/*!< Button flag set for ISR when state of buttonA changes. */ |
el13drt | 62:827cda7a2663 | 118 | int buttonFlagB = 0;/*!< Button flag set for ISR when state of buttonB changes. */ |
el13drt | 15:ff3eb0091453 | 119 | |
el13drt | 60:681bc941b94d | 120 | //button values for debounce problem |
el13drt | 60:681bc941b94d | 121 | int oldButtonA = 0; |
el13drt | 60:681bc941b94d | 122 | int newButtonA; |
el13drt | 60:681bc941b94d | 123 | |
el13drt | 60:681bc941b94d | 124 | int oldButtonB = 0; |
el13drt | 60:681bc941b94d | 125 | int newButtonB; |
el13drt | 60:681bc941b94d | 126 | |
el13drt | 35:9f55326c1b0a | 127 | //flag for joystick reading |
el13drt | 62:827cda7a2663 | 128 | int printFlag = 0;/*!< Print flag set for ISR when Joystick is moved. */ |
el13drt | 14:c2c969e1c6e8 | 129 | |
el13drt | 35:9f55326c1b0a | 130 | //boundary conditions |
el13drt | 62:827cda7a2663 | 131 | int cells [84][48];/*!< Boundary conditions for cells.*/ |
el13drt | 12:eedda6554615 | 132 | |
el13drt | 35:9f55326c1b0a | 133 | //real time score |
el13drt | 62:827cda7a2663 | 134 | int score = 0;/*!< Integer to show and print Scores. */ |
el13drt | 12:eedda6554615 | 135 | |
el13drt | 35:9f55326c1b0a | 136 | //stored high score variables |
el13drt | 72:ade25d595dc9 | 137 | int highScore1;/*!< Integer to store Score 1. */ |
el13drt | 72:ade25d595dc9 | 138 | int highScore2;/*!< Integer to store Score 2. */ |
el13drt | 72:ade25d595dc9 | 139 | int highScore3;/*!< Integer to store Score 3. */ |
el13drt | 21:1fbbd8ebb3d9 | 140 | |
el13drt | 73:1b03202c987a | 141 | //global char buffers to store initials/score |
el13drt | 73:1b03202c987a | 142 | char player1initials[14];// = {"1.AAA.....0"};/*!< Buffer for printing Initials and Top Score 1.*/ |
el13drt | 73:1b03202c987a | 143 | char player2initials[14];// = {"2.BBB.....0"};/*!< Buffer for printing Initials and Top Score 2.*/ |
el13drt | 73:1b03202c987a | 144 | char player3initials[14];// = {"3.CCC.....0"};/*!< Buffer for printing Initials and Top Score 3.*/ |
el13drt | 25:70048c7e02c7 | 145 | |
el13drt | 35:9f55326c1b0a | 146 | //difficulty variable - hazards fall at 2 pixels per refresh |
el13drt | 62:827cda7a2663 | 147 | int fall = 2;/*!< Increments hazards each Iteration by the Integer stored. */ |
el13drt | 12:eedda6554615 | 148 | |
el13drt | 35:9f55326c1b0a | 149 | //global variables for movement (pixelNinja) |
el13drt | 12:eedda6554615 | 150 | int a1 = 22; |
el13drt | 12:eedda6554615 | 151 | int a2 = 24; |
el13drt | 12:eedda6554615 | 152 | int a3 = 23; |
el13drt | 60:681bc941b94d | 153 | int a4 = 22; |
el13drt | 60:681bc941b94d | 154 | int a5 = 22; |
el13drt | 60:681bc941b94d | 155 | int a6 = 24; |
el13drt | 60:681bc941b94d | 156 | int a7 = 25; |
el13drt | 60:681bc941b94d | 157 | int a8 = 20; |
el13drt | 60:681bc941b94d | 158 | int a9 = 20; |
el13drt | 60:681bc941b94d | 159 | int a10 = 26; |
el13drt | 60:681bc941b94d | 160 | int a11 = 26; |
el13drt | 60:681bc941b94d | 161 | int a12 = 26; |
el13drt | 60:681bc941b94d | 162 | int a13 = 24; |
el13drt | 60:681bc941b94d | 163 | int a14 = 19; |
el13drt | 60:681bc941b94d | 164 | int a15 = 20; |
el13drt | 60:681bc941b94d | 165 | int a16 = 21; |
el13drt | 12:eedda6554615 | 166 | |
el13drt | 35:9f55326c1b0a | 167 | //global variable for hazard X co-ordinates |
el13drt | 62:827cda7a2663 | 168 | int randX1;/*!< X co-ordinate for Hazard 1. */ |
el13drt | 62:827cda7a2663 | 169 | int randX2;/*!< X co-ordinate for Hazard 2. */ |
el13drt | 62:827cda7a2663 | 170 | int randX3;/*!< X co-ordinate for Hazard 3. */ |
el13drt | 62:827cda7a2663 | 171 | int randX4;/*!< X co-ordinate for Hazard 4. */ |
el13drt | 62:827cda7a2663 | 172 | int randX5;/*!< X co-ordinate for Hazard 5. */ |
el13drt | 62:827cda7a2663 | 173 | int randX6;/*!< X co-ordinate for Hazard 6. */ |
el13drt | 12:eedda6554615 | 174 | |
el13drt | 35:9f55326c1b0a | 175 | //global variable for hazard Y co-ordinates |
el13drt | 62:827cda7a2663 | 176 | int randY1 = 1;/*!< Y co-ordinate for Hazard 1. */ |
el13drt | 62:827cda7a2663 | 177 | int randY2 = 1;/*!< Y co-ordinate for Hazard 2. */ |
el13drt | 62:827cda7a2663 | 178 | int randY3 = 1;/*!< Y co-ordinate for Hazard 3. */ |
el13drt | 62:827cda7a2663 | 179 | int randY4 = 1;/*!< Y co-ordinate for Hazard 4. */ |
el13drt | 62:827cda7a2663 | 180 | int randY5 = 1;/*!< Y co-ordinate for Hazard 5. */ |
el13drt | 62:827cda7a2663 | 181 | int randY6 = 1;/*!< Y co-ordinate for Hazard 6. */ |
el13drt | 12:eedda6554615 | 182 | |
el13drt | 35:9f55326c1b0a | 183 | //integers for changing struct ouput states |
el13drt | 62:827cda7a2663 | 184 | int state1 = 0;/*!< State number for Output 1.*/ |
el13drt | 62:827cda7a2663 | 185 | int state2 = 0;/*!< State number for output 2.*/ |
el13drt | 62:827cda7a2663 | 186 | int state3 = 0;/*!< State number for output 3.*/ |
el13drt | 35:9f55326c1b0a | 187 | |
el13drt | 35:9f55326c1b0a | 188 | //prototypes |
el13drt | 72:ade25d595dc9 | 189 | |
el13drt | 72:ade25d595dc9 | 190 | |
el13drt | 72:ade25d595dc9 | 191 | /** |
el13drt | 72:ade25d595dc9 | 192 | */ |
el13drt | 35:9f55326c1b0a | 193 | void calibrateJoystick(); |
el13drt | 72:ade25d595dc9 | 194 | |
el13drt | 72:ade25d595dc9 | 195 | /** |
el13drt | 72:ade25d595dc9 | 196 | */ |
el13drt | 35:9f55326c1b0a | 197 | void updateJoystick(); |
el13drt | 72:ade25d595dc9 | 198 | |
el13drt | 72:ade25d595dc9 | 199 | /** |
el13drt | 72:ade25d595dc9 | 200 | */ |
el13drt | 35:9f55326c1b0a | 201 | void timerExpiredA(); |
el13drt | 72:ade25d595dc9 | 202 | |
el13drt | 72:ade25d595dc9 | 203 | /** |
el13drt | 72:ade25d595dc9 | 204 | */ |
el13drt | 35:9f55326c1b0a | 205 | void timerExpiredB(); |
el13drt | 72:ade25d595dc9 | 206 | |
el13drt | 72:ade25d595dc9 | 207 | /** |
el13drt | 72:ade25d595dc9 | 208 | */ |
el13drt | 35:9f55326c1b0a | 209 | void actionButton(); |
el13drt | 72:ade25d595dc9 | 210 | |
el13drt | 72:ade25d595dc9 | 211 | /** |
el13drt | 72:ade25d595dc9 | 212 | */ |
el13drt | 35:9f55326c1b0a | 213 | void randomise(); |
el13drt | 72:ade25d595dc9 | 214 | |
el13drt | 72:ade25d595dc9 | 215 | /** |
el13drt | 72:ade25d595dc9 | 216 | */ |
el13drt | 35:9f55326c1b0a | 217 | void resetGame(); |
el13drt | 72:ade25d595dc9 | 218 | |
el13drt | 72:ade25d595dc9 | 219 | /** |
el13drt | 72:ade25d595dc9 | 220 | */ |
el13drt | 35:9f55326c1b0a | 221 | void startrek(); |
el13drt | 72:ade25d595dc9 | 222 | |
el13drt | 72:ade25d595dc9 | 223 | /** |
el13drt | 72:ade25d595dc9 | 224 | */ |
el13drt | 35:9f55326c1b0a | 225 | void refreshCursor1(); |
el13drt | 72:ade25d595dc9 | 226 | |
el13drt | 72:ade25d595dc9 | 227 | /** |
el13drt | 72:ade25d595dc9 | 228 | */ |
el13drt | 35:9f55326c1b0a | 229 | void refreshCursor2(); |
el13drt | 72:ade25d595dc9 | 230 | |
el13drt | 72:ade25d595dc9 | 231 | /** |
el13drt | 72:ade25d595dc9 | 232 | */ |
el13drt | 35:9f55326c1b0a | 233 | void refreshCursor3(); |
el13drt | 72:ade25d595dc9 | 234 | |
el13drt | 72:ade25d595dc9 | 235 | /** |
el13drt | 72:ade25d595dc9 | 236 | */ |
el13drt | 35:9f55326c1b0a | 237 | void ninjaBoundaries(); |
el13drt | 63:ff9b64b23d26 | 238 | |
el13drt | 63:ff9b64b23d26 | 239 | /** |
el13drt | 63:ff9b64b23d26 | 240 | */ |
el13drt | 60:681bc941b94d | 241 | void ninjaLeft(); |
el13drt | 63:ff9b64b23d26 | 242 | |
el13drt | 63:ff9b64b23d26 | 243 | /** |
el13drt | 63:ff9b64b23d26 | 244 | */ |
el13drt | 60:681bc941b94d | 245 | void ninjaRight(); |
el13drt | 63:ff9b64b23d26 | 246 | |
el13drt | 63:ff9b64b23d26 | 247 | /** |
el13drt | 63:ff9b64b23d26 | 248 | */ |
el13drt | 35:9f55326c1b0a | 249 | void hazardFall(); |
el13drt | 63:ff9b64b23d26 | 250 | |
el13drt | 63:ff9b64b23d26 | 251 | /** |
el13drt | 63:ff9b64b23d26 | 252 | */ |
el13drt | 51:df3bab1d6926 | 253 | void newScore(); |
el13drt | 63:ff9b64b23d26 | 254 | /** |
el13drt | 63:ff9b64b23d26 | 255 | */ |
el13drt | 35:9f55326c1b0a | 256 | void mainMenu(); |
el13drt | 63:ff9b64b23d26 | 257 | |
el13drt | 63:ff9b64b23d26 | 258 | /** |
el13drt | 63:ff9b64b23d26 | 259 | */ |
el13drt | 35:9f55326c1b0a | 260 | void exitMenu(); |
el13drt | 63:ff9b64b23d26 | 261 | |
el13drt | 63:ff9b64b23d26 | 262 | /** |
el13drt | 63:ff9b64b23d26 | 263 | */ |
el13drt | 35:9f55326c1b0a | 264 | void optionsMenu(); |
el13drt | 63:ff9b64b23d26 | 265 | |
el13drt | 63:ff9b64b23d26 | 266 | /** |
el13drt | 63:ff9b64b23d26 | 267 | */ |
el13drt | 35:9f55326c1b0a | 268 | void game(); |
el13drt | 63:ff9b64b23d26 | 269 | |
el13drt | 63:ff9b64b23d26 | 270 | /** |
el13drt | 63:ff9b64b23d26 | 271 | */ |
el13drt | 35:9f55326c1b0a | 272 | void difficultyMenu(); |
el13drt | 63:ff9b64b23d26 | 273 | |
el13drt | 63:ff9b64b23d26 | 274 | /** |
el13drt | 63:ff9b64b23d26 | 275 | */ |
el13drt | 35:9f55326c1b0a | 276 | void soundFXMenu(); |
el13drt | 63:ff9b64b23d26 | 277 | |
el13drt | 63:ff9b64b23d26 | 278 | /** |
el13drt | 63:ff9b64b23d26 | 279 | */ |
el13drt | 35:9f55326c1b0a | 280 | void scores(); |
el13drt | 35:9f55326c1b0a | 281 | |
el13drt | 62:827cda7a2663 | 282 | /** |
el13drt | 62:827cda7a2663 | 283 | */ |
el13drt | 35:9f55326c1b0a | 284 | void drawNinja(); |
el13drt | 62:827cda7a2663 | 285 | |
el13drt | 62:827cda7a2663 | 286 | /** |
el13drt | 62:827cda7a2663 | 287 | */ |
el13drt | 35:9f55326c1b0a | 288 | void drawHazards(); |
el13drt | 62:827cda7a2663 | 289 | |
el13drt | 62:827cda7a2663 | 290 | /** |
el13drt | 62:827cda7a2663 | 291 | */ |
el13drt | 35:9f55326c1b0a | 292 | void drawWelcome(); |
el13drt | 62:827cda7a2663 | 293 | |
el13drt | 62:827cda7a2663 | 294 | /** |
el13drt | 62:827cda7a2663 | 295 | */ |
el13drt | 35:9f55326c1b0a | 296 | void drawBackground(); |
el13drt | 62:827cda7a2663 | 297 | |
el13drt | 62:827cda7a2663 | 298 | /** |
el13drt | 62:827cda7a2663 | 299 | */ |
el13drt | 35:9f55326c1b0a | 300 | void drawSoundFXMenu(); |
el13drt | 62:827cda7a2663 | 301 | |
el13drt | 62:827cda7a2663 | 302 | /** |
el13drt | 62:827cda7a2663 | 303 | */ |
el13drt | 35:9f55326c1b0a | 304 | void drawDifficultyMenu(); |
el13drt | 62:827cda7a2663 | 305 | |
el13drt | 62:827cda7a2663 | 306 | /** |
el13drt | 62:827cda7a2663 | 307 | */ |
el13drt | 35:9f55326c1b0a | 308 | void drawMainMenu(); |
el13drt | 62:827cda7a2663 | 309 | |
el13drt | 62:827cda7a2663 | 310 | /** |
el13drt | 62:827cda7a2663 | 311 | */ |
el13drt | 35:9f55326c1b0a | 312 | void drawOptionsMenu(); |
el13drt | 62:827cda7a2663 | 313 | |
el13drt | 62:827cda7a2663 | 314 | /** |
el13drt | 62:827cda7a2663 | 315 | */ |
el13drt | 35:9f55326c1b0a | 316 | void drawExitMenu(); |
el13drt | 62:827cda7a2663 | 317 |