ELEC2645 (2018/19) / Mbed 2 deprecated el17set_

Dependencies:   mbed

Committer:
S_Tingle
Date:
Thu May 09 13:43:23 2019 +0000
Revision:
25:1d3bf74dddeb
Parent:
22:8e38efeae0c9
doxygen added

Who changed what in which revision?

UserRevisionLine numberNew contents of line
S_Tingle 14:d0650d0de063 1 #include "Menu.h"
S_Tingle 14:d0650d0de063 2
S_Tingle 22:8e38efeae0c9 3 Menu::Menu()
S_Tingle 22:8e38efeae0c9 4 {
S_Tingle 14:d0650d0de063 5
S_Tingle 14:d0650d0de063 6 }
S_Tingle 14:d0650d0de063 7
S_Tingle 22:8e38efeae0c9 8 Menu::~Menu()
S_Tingle 22:8e38efeae0c9 9 {
S_Tingle 14:d0650d0de063 10
S_Tingle 14:d0650d0de063 11 }
S_Tingle 14:d0650d0de063 12
S_Tingle 22:8e38efeae0c9 13 void Menu::init()
S_Tingle 22:8e38efeae0c9 14 {
S_Tingle 22:8e38efeae0c9 15
S_Tingle 14:d0650d0de063 16 }
S_Tingle 14:d0650d0de063 17
S_Tingle 22:8e38efeae0c9 18 void Menu::main(N5110 &lcd, Gamepad &pad)
S_Tingle 22:8e38efeae0c9 19 {
S_Tingle 22:8e38efeae0c9 20 // while not playing then main menu will display //
S_Tingle 17:ce6b54422113 21 play = false;
S_Tingle 16:37d98c281eb3 22 while (play == false) {
S_Tingle 16:37d98c281eb3 23 lcd.clear();
S_Tingle 22:8e38efeae0c9 24 lcd.printString("NEW GAME(X)", 10, 1);
S_Tingle 22:8e38efeae0c9 25 lcd.printString("GAME INFO(Y)", 10, 2);
S_Tingle 22:8e38efeae0c9 26 lcd.printString("CREDITS(B)", 10, 3);
S_Tingle 16:37d98c281eb3 27 lcd.refresh();
S_Tingle 16:37d98c281eb3 28 newGame(lcd,pad);
S_Tingle 16:37d98c281eb3 29 wait_ms(1000/60);
S_Tingle 16:37d98c281eb3 30 }
S_Tingle 17:ce6b54422113 31
S_Tingle 14:d0650d0de063 32 }
S_Tingle 14:d0650d0de063 33
S_Tingle 22:8e38efeae0c9 34 void Menu::newGame(N5110 &lcd, Gamepad &pad){
S_Tingle 22:8e38efeae0c9 35 // different path dependent on button press //
S_Tingle 22:8e38efeae0c9 36 // (so either new game, info or credits) //
S_Tingle 22:8e38efeae0c9 37 if (pad.check_event(Gamepad::X_PRESSED) == true){
S_Tingle 22:8e38efeae0c9 38 play = true;
S_Tingle 22:8e38efeae0c9 39 } else if (pad.check_event(Gamepad::Y_PRESSED) == true){
S_Tingle 22:8e38efeae0c9 40 info(lcd,pad);
S_Tingle 22:8e38efeae0c9 41 } else if(pad.check_event(Gamepad::B_PRESSED) == true){
S_Tingle 22:8e38efeae0c9 42 credits(lcd,pad);
S_Tingle 22:8e38efeae0c9 43 } else {
S_Tingle 22:8e38efeae0c9 44 play = false;
S_Tingle 22:8e38efeae0c9 45 }
S_Tingle 14:d0650d0de063 46 }
S_Tingle 14:d0650d0de063 47
S_Tingle 22:8e38efeae0c9 48 void Menu::info(N5110 &lcd, Gamepad &pad)
S_Tingle 22:8e38efeae0c9 49 {
S_Tingle 22:8e38efeae0c9 50 // stays in menu until L is pressed //
S_Tingle 22:8e38efeae0c9 51 while (pad.check_event(Gamepad::L_PRESSED) == false){
S_Tingle 22:8e38efeae0c9 52 lcd.clear();
S_Tingle 25:1d3bf74dddeb 53 lcd.printString("MOVE(J-STICK)", 5, 1);
S_Tingle 25:1d3bf74dddeb 54 lcd.printString("10 HEALTH", 15, 2);
S_Tingle 25:1d3bf74dddeb 55 lcd.printString("COLLECT COINS", 5, 3);
S_Tingle 25:1d3bf74dddeb 56 lcd.printString("BACK(L)", 20, 4);
S_Tingle 22:8e38efeae0c9 57 lcd.refresh();
S_Tingle 22:8e38efeae0c9 58 // corrects error with pressing button that was unused //
S_Tingle 22:8e38efeae0c9 59 // which would have an effect when returning to main menu //
S_Tingle 22:8e38efeae0c9 60 if (pad.check_event(Gamepad::X_PRESSED) == true){
S_Tingle 16:37d98c281eb3 61 }
S_Tingle 22:8e38efeae0c9 62 if (pad.check_event(Gamepad::Y_PRESSED) == true){
S_Tingle 22:8e38efeae0c9 63 }
S_Tingle 22:8e38efeae0c9 64 if (pad.check_event(Gamepad::B_PRESSED) == true){
S_Tingle 22:8e38efeae0c9 65 }
S_Tingle 22:8e38efeae0c9 66 }
S_Tingle 16:37d98c281eb3 67 }
S_Tingle 16:37d98c281eb3 68
S_Tingle 22:8e38efeae0c9 69 void Menu::credits(N5110 &lcd, Gamepad &pad)
S_Tingle 22:8e38efeae0c9 70 {
S_Tingle 22:8e38efeae0c9 71 // stays in menu until L is pressed //
S_Tingle 22:8e38efeae0c9 72 while (pad.check_event(Gamepad::L_PRESSED) == false){
S_Tingle 22:8e38efeae0c9 73 lcd.clear();
S_Tingle 25:1d3bf74dddeb 74 lcd.printString("CREATED BY", 10, 1);
S_Tingle 25:1d3bf74dddeb 75 lcd.printString("SPENCER", 20, 2);
S_Tingle 25:1d3bf74dddeb 76 lcd.printString("TINGLE", 20, 3);
S_Tingle 25:1d3bf74dddeb 77 lcd.printString("BACK(L)", 20, 4);
S_Tingle 22:8e38efeae0c9 78 lcd.refresh();
S_Tingle 22:8e38efeae0c9 79 // corrects error with pressing button that was unused //
S_Tingle 22:8e38efeae0c9 80 // which would have an effect when returning to main menu //
S_Tingle 22:8e38efeae0c9 81 if (pad.check_event(Gamepad::X_PRESSED) == true){
S_Tingle 22:8e38efeae0c9 82 pad.check_event(Gamepad::L_PRESSED) == false;
S_Tingle 16:37d98c281eb3 83 }
S_Tingle 22:8e38efeae0c9 84 if (pad.check_event(Gamepad::Y_PRESSED) == true){
S_Tingle 22:8e38efeae0c9 85 pad.check_event(Gamepad::L_PRESSED) == false;
S_Tingle 22:8e38efeae0c9 86 }
S_Tingle 22:8e38efeae0c9 87 if (pad.check_event(Gamepad::B_PRESSED) == true){
S_Tingle 22:8e38efeae0c9 88 pad.check_event(Gamepad::L_PRESSED) == false;
S_Tingle 22:8e38efeae0c9 89 }
S_Tingle 22:8e38efeae0c9 90 }
S_Tingle 16:37d98c281eb3 91 }