Adam Baker 201166301
Dependencies: mbed Gamepad N5110
Diff: main.cpp
- Revision:
- 37:23b6312c8315
- Parent:
- 36:6f452777b9ce
- Child:
- 38:51ed5820ffe5
--- a/main.cpp Sun May 05 14:58:20 2019 +0000 +++ b/main.cpp Sun May 05 17:34:55 2019 +0000 @@ -18,6 +18,7 @@ void timer_isr(); void init(); +void intro(N5110 &lcd, Gamepad &pad); void main_menu(N5110 &lcd, Gamepad &pad); int select_menu_item(Gamepad &pad, N5110 &lcd); void go_to_main_menu_item(N5110 &lcd, Gamepad &pad, int input); @@ -41,10 +42,13 @@ lcd.setContrast(0.55); + intro(lcd, pad); + main_menu(lcd, pad); } + void timer_isr() { @@ -54,14 +58,38 @@ void init() { pad.init(); //intialise Gamepad class variables - lcd.init(); + lcd.init(); menu.init(); //intialise N5110 class variables } +void intro(N5110 &lcd, Gamepad &pad) +{ + menu.title_intro(lcd, pad); + int start = 0; + + do { + if (timer_flag == true) { //only run when timer flag is true (6fps) + + timer_flag = 0; + + start = menu.press_start(lcd, pad); + + } else { + + sleep(); //sleep when timer_flag not true in order to conserve energy + + } + + + } while (start == 0); + + menu.init(); +} + void main_menu(N5110 &lcd, Gamepad &pad) { + blockhead.init(); //intialise blockhead engine variables for new game - //intialse menu variables int input = select_menu_item(pad, lcd); //reads input and prints the main menu go_to_main_menu_item(lcd, pad, input); //peforms what ever input is chosen } @@ -71,9 +99,20 @@ int select_menu_item(Gamepad &pad, N5110 &lcd) { - int input = 0; - do { //ADD TRICKR AND ANIMATION - input = menu.select_input(pad, lcd); //prints menu and toggles cursor depending on input, + int input = 0; + do { + + if (timer_flag == true) { //only run when timer flag is true (6fps) + + timer_flag = 0; + //ADD TRICKR AND ANIMATION + input = menu.select_input(pad, lcd); + + } else { + + sleep(); + + } //prints menu and toggles cursor depending on input, } while (input == 0); //repeats untill an input is chosen return input; @@ -153,7 +192,7 @@ } } while (goback == 0); - + main_menu(lcd, pad); } @@ -191,7 +230,7 @@ { lcd.turnOff(); sleep(); - + } @@ -226,20 +265,20 @@ blockhead.continueInit(); print_menu_continue(lcd); - + int input = 0; - do{ - + do { + if (pad.check_event(Gamepad::A_PRESSED)) { - input = 1; - } - + input = 1; + } + if (pad.check_event(Gamepad::B_PRESSED)) { - input = 2; - } - - } while (input ==0); - select_continue_menu_item(lcd, pad, input); + input = 2; + } + + } while (input ==0); + select_continue_menu_item(lcd, pad, input); }