Max Houghton
/
MazeGame_el15mh
el15mh 200929957
Diff: main.cpp
- Revision:
- 3:02653cb1c8f8
- Parent:
- 2:a488caea1601
- Child:
- 4:66ab008f7b06
--- a/main.cpp Thu Mar 30 14:08:03 2017 +0000 +++ b/main.cpp Sun Apr 02 13:13:40 2017 +0000 @@ -1,15 +1,15 @@ #include "mbed.h" #include "N5110.h" #include "Gamepad.h" +#include "Menu.h" // CREATE OBJECTS // N5110 lcd(PTC9,PTC0,PTC7,PTD2,PTD1,PTC11); Gamepad pad; +Menu menu; // FUNCTION PROTOTYPES // void init(); -void difficultyOptions(); -void colourOptions(); int main() @@ -18,85 +18,9 @@ printf("Devices initialised \n"); - int selected = 0; - while(1) { - // printf("While loop 1 \n"); - // printf("Selected = %i \n", selected); - switch (selected) { - - case 1: - - lcd.clear(); - // displays options page with indicator on first - lcd.printString("Game Options:", 0, 0); - lcd.printString(">Difficulty", 0, 2); - lcd.printString(" Ball Colour", 0, 3); - lcd.refresh(); - - if (pad.check_event(Gamepad::A_PRESSED) || - pad.check_event(Gamepad::JOY_PRESSED)){ - - difficultyOptions(); - } - - wait_ms(250); - - break; - - case 2: - - lcd.clear(); - // displays options page with indicator on second - lcd.printString("Game Options:", 0, 0); - lcd.printString(" Difficulty", 0, 2); - lcd.printString(">Ball Colour", 0, 3); - lcd.refresh(); - - // if second option selected - if (pad.check_event(Gamepad::A_PRESSED) || - pad.check_event(Gamepad::JOY_PRESSED)){ - - colourOptions(); - } - - wait_ms(250); - - break; - - default: - - selected = 1; - - break; - } - - char d = pad.get_direction(); - - if ((d == NW) || - (d == N) || - (d == NE)){ - - selected -= 1; - } - - if ((d == SW) || - (d == S) || - (d == SE)){ - - selected += 1; - } - - if (pad.check_event(Gamepad::Y_PRESSED)){ - - selected -= 1; - } - - if (pad.check_event(Gamepad::X_PRESSED)){ - - selected += 1; - } + menu.main(); } } @@ -108,169 +32,3 @@ pad.init(); } -void difficultyOptions() -{ - int selected = 0; - int exit = 0; - - while(exit == 0){ - - switch(selected){ - - case 1: - - lcd.clear(); - lcd.printString("Difficulty: ", 0, 0); - lcd.printString(">Easy", 0, 2); - lcd.printString(" Hard", 0, 3); - lcd.refresh(); - - if (pad.check_event(Gamepad::A_PRESSED) || - pad.check_event(Gamepad::JOY_PRESSED)){ - - // maze.mazeIndex = 0; - lcd.clear(); - lcd.printString("Easy mode", 0, 1); - lcd.refresh(); - wait(2); - } - - break; - - case 2: - - lcd.clear(); - lcd.printString("Difficulty: ", 0, 0); - lcd.printString(" Easy", 0, 2); - lcd.printString(">Hard", 0, 3); - lcd.refresh(); - - if (pad.check_event(Gamepad::A_PRESSED) || - pad.check_event(Gamepad::JOY_PRESSED)){ - - // maze.mazeIndex = 1; - lcd.clear(); - lcd.printString("Hard mode", 0, 1); - lcd.refresh(); - wait(2); - } - - break; - - default: - - selected = 1; - - break; - - } - char d = pad.get_direction(); - - if ((d == NW) || - (d == N) || - (d == NE)){ - - selected -= 1; - } - - if ((d == SW) || - (d == S) || - (d == SE)){ - - selected += 1; - } - - - if (pad.check_event(Gamepad::BACK_PRESSED)){ - - exit = 1; - } - - } -} - -void colourOptions() -{ - int selected = 0; - int exit = 0; - while(exit == 0){ - - switch(selected){ - - case 1: - - printf("case 2.1"); - - lcd.clear(); - lcd.printString("Ball colour: ", 0, 0); - lcd.printString(">Transparent", 0, 2); - lcd.printString(" Solid", 0, 3); - lcd.refresh(); - - if (pad.check_event(Gamepad::A_PRESSED) || - pad.check_event(Gamepad::JOY_PRESSED)){ - - // ball.ballColour = 0; - lcd.clear(); - lcd.printString("Transparent", 0, 1); - lcd.refresh(); - wait(2); - } - - break; - - case 2: - - printf("case 2.2"); - - lcd.clear(); - lcd.printString("Ball colour: ", 0, 0); - lcd.printString(" Transparent", 0, 2); - lcd.printString(">Solid", 0, 3); - lcd.refresh(); - - if (pad.check_event(Gamepad::A_PRESSED) || - pad.check_event(Gamepad::JOY_PRESSED)){ - - // ball.ballColour = 1; - lcd.clear(); - lcd.printString("Solid", 0, 1); - lcd.refresh(); - wait(2); - } - - break; - - default: - - selected = 1; - - break; - } - - char d = pad.get_direction(); - - if ((d == NW) || - (d == N) || - (d == NE)){ - - selected -= 1; - } - - if ((d == SW) || - (d == S) || - (d == SE)){ - - selected += 1; - } - - if (pad.check_event(Gamepad::BACK_PRESSED)){ - - exit = 1; - } - } - -} - - -