harry rance
/
Revised_Space_Invaders
Harry Rance 200925395 Embedded Systems Project
Diff: Menu.cpp
- Revision:
- 4:107bdbbf78bf
- Parent:
- 3:43970d8d642e
- Child:
- 6:dca8b5e2ebe5
--- a/Menu.cpp Sun Apr 30 15:23:56 2017 +0000 +++ b/Menu.cpp Sun Apr 30 15:30:30 2017 +0000 @@ -23,17 +23,17 @@ { draw_initial_screen(lcd); draw_shop(lcd); - draw_options(lcd); draw_selection_square(lcd); } -void Menu::update(Gamepad &pad) +void Menu::update(Gamepad &pad, N5110 &lcd) { move_selection_square_y(_d); move_selection_square_x(_d); initial_screen_selection(pad); page_selection(pad); step_back(pad); + exit_game(lcd, pad); } void Menu::read_input(Gamepad &pad) @@ -47,7 +47,7 @@ lcd.printString("BOSS FIGHT",13,1); lcd.printString("Start Game", 5, 3); lcd.printString("Shop", 5, 4); - lcd.printString("Options", 5, 5); + lcd.printString("Exit", 5, 5); } void Menu::draw_selection_square(N5110 &lcd) @@ -84,7 +84,7 @@ if (d == CENTRE) { _square_active = 1; } - if (_page_index == 0 || _page_index == 2 || _page_index == 3){ + if (_page_index == 0 || _page_index == 2){ _square_pos_x = 70; if (d == S && _square_active){ _square_pos_y += 8; @@ -104,6 +104,14 @@ } } +void Menu::exit_game(N5110 &lcd, Gamepad &pad) +{ + if (_square_pos_y == 41 && (pad.check_event(Gamepad::A_PRESSED)) && _page_index == 0){ + lcd.turnOff(); + lcd.setBrightness(0.0); + } +} + void Menu::page_selection(Gamepad &pad) { if (_square_pos_y == 33 && (pad.check_event(Gamepad::A_PRESSED)) && _page_index == 0){ @@ -111,11 +119,6 @@ _square_pos_x = 7; _square_pos_y = 41; } - if (_square_pos_y == 41 && (pad.check_event(Gamepad::A_PRESSED)) && _page_index == 0){ - _page_index = 2; - _square_pos_x = 70; - _square_pos_y = 25; - } } void Menu::step_back(Gamepad &pad) @@ -156,17 +159,6 @@ } } -void Menu::draw_options(N5110 &lcd) -{ - if(_page_index == 2){ - lcd.clear(); - lcd.printString("OPTIONS",20,0); - lcd.printString("Video",5,3); - lcd.printString("Audio",5,4); - lcd.printString("Controls",5,5); - } -} - void Menu::draw_shop_ship_1(N5110 &lcd) { lcd.drawRect(5, 38, 2, 2, 1);