ELEC2645 (2018/19) / Mbed 2 deprecated el18jz_

Dependencies:   mbed

Committer:
jiaxinZHOU
Date:
Wed May 08 21:44:02 2019 +0000
Revision:
0:07c4fef6c0af
Child:
4:0f2006e9c8f8
1st edition

Who changed what in which revision?

UserRevisionLine numberNew contents of line
jiaxinZHOU 0:07c4fef6c0af 1 #include "Menu.h"
jiaxinZHOU 0:07c4fef6c0af 2
jiaxinZHOU 0:07c4fef6c0af 3 Menu::Menu() {
jiaxinZHOU 0:07c4fef6c0af 4
jiaxinZHOU 0:07c4fef6c0af 5 }
jiaxinZHOU 0:07c4fef6c0af 6
jiaxinZHOU 0:07c4fef6c0af 7 Menu::~Menu() {
jiaxinZHOU 0:07c4fef6c0af 8
jiaxinZHOU 0:07c4fef6c0af 9 }
jiaxinZHOU 0:07c4fef6c0af 10
jiaxinZHOU 0:07c4fef6c0af 11 int Menu::input( int select,Gamepad &pad)
jiaxinZHOU 0:07c4fef6c0af 12 {
jiaxinZHOU 0:07c4fef6c0af 13 Direction d;
jiaxinZHOU 0:07c4fef6c0af 14 d = pad.get_direction();
jiaxinZHOU 0:07c4fef6c0af 15 if(d == N)
jiaxinZHOU 0:07c4fef6c0af 16 {
jiaxinZHOU 0:07c4fef6c0af 17 select= select - 1;
jiaxinZHOU 0:07c4fef6c0af 18 }
jiaxinZHOU 0:07c4fef6c0af 19
jiaxinZHOU 0:07c4fef6c0af 20 if (d == S)
jiaxinZHOU 0:07c4fef6c0af 21 {
jiaxinZHOU 0:07c4fef6c0af 22 select = select + 1;
jiaxinZHOU 0:07c4fef6c0af 23 }
jiaxinZHOU 0:07c4fef6c0af 24 return select;
jiaxinZHOU 0:07c4fef6c0af 25 }
jiaxinZHOU 0:07c4fef6c0af 26
jiaxinZHOU 0:07c4fef6c0af 27
jiaxinZHOU 0:07c4fef6c0af 28 void Menu::menus(N5110 &lcd, Gamepad &pad)
jiaxinZHOU 0:07c4fef6c0af 29 {
jiaxinZHOU 0:07c4fef6c0af 30 go_on = 0;
jiaxinZHOU 0:07c4fef6c0af 31 sel = 0;
jiaxinZHOU 0:07c4fef6c0af 32 while(go_on == 0)
jiaxinZHOU 0:07c4fef6c0af 33 {
jiaxinZHOU 0:07c4fef6c0af 34 sel = input(sel,pad);
jiaxinZHOU 0:07c4fef6c0af 35 wait_ms(200);
jiaxinZHOU 0:07c4fef6c0af 36 switch (sel)
jiaxinZHOU 0:07c4fef6c0af 37 {
jiaxinZHOU 0:07c4fef6c0af 38 case 0:
jiaxinZHOU 0:07c4fef6c0af 39 lcd.clear();
jiaxinZHOU 0:07c4fef6c0af 40 lcd.printString(" MENU ",0,0);
jiaxinZHOU 0:07c4fef6c0af 41 lcd.printString(" (PRASS A) ",0,1);
jiaxinZHOU 0:07c4fef6c0af 42 lcd.printString(">PLAY GAME",0,2);
jiaxinZHOU 0:07c4fef6c0af 43 lcd.printString("TUTORIAL",0,3);
jiaxinZHOU 0:07c4fef6c0af 44 lcd.printString("VERSION",0,4);
jiaxinZHOU 0:07c4fef6c0af 45 lcd.refresh();
jiaxinZHOU 0:07c4fef6c0af 46
jiaxinZHOU 0:07c4fef6c0af 47 if (pad.check_event(Gamepad::A_PRESSED)){
jiaxinZHOU 0:07c4fef6c0af 48 go_on = 1;
jiaxinZHOU 0:07c4fef6c0af 49 }
jiaxinZHOU 0:07c4fef6c0af 50 break;
jiaxinZHOU 0:07c4fef6c0af 51
jiaxinZHOU 0:07c4fef6c0af 52 case 1:
jiaxinZHOU 0:07c4fef6c0af 53 lcd.clear();
jiaxinZHOU 0:07c4fef6c0af 54 lcd.printString(" MENU ",0,0);
jiaxinZHOU 0:07c4fef6c0af 55 lcd.printString(" (PRASS A) ",0,1);
jiaxinZHOU 0:07c4fef6c0af 56 lcd.printString("PLAY GAME",0,2);
jiaxinZHOU 0:07c4fef6c0af 57 lcd.printString(">TUTORIAL",0,3);
jiaxinZHOU 0:07c4fef6c0af 58 lcd.printString("VERSION",0,4);
jiaxinZHOU 0:07c4fef6c0af 59 lcd.refresh();
jiaxinZHOU 0:07c4fef6c0af 60
jiaxinZHOU 0:07c4fef6c0af 61 // either clicking joystick or pressing A selects function
jiaxinZHOU 0:07c4fef6c0af 62 if (pad.check_event(Gamepad::A_PRESSED))
jiaxinZHOU 0:07c4fef6c0af 63 {
jiaxinZHOU 0:07c4fef6c0af 64 lcd.clear();
jiaxinZHOU 0:07c4fef6c0af 65 lcd.printString("PUSH JOYSTICK ",0,1);
jiaxinZHOU 0:07c4fef6c0af 66 lcd.printString(" TO CTRL ",0,2);
jiaxinZHOU 0:07c4fef6c0af 67 lcd.printString(" DIRCTION ",0,3);
jiaxinZHOU 0:07c4fef6c0af 68 lcd.refresh();
jiaxinZHOU 0:07c4fef6c0af 69 //printf("Direction = %i\n");
jiaxinZHOU 0:07c4fef6c0af 70 wait_ms (1000);
jiaxinZHOU 0:07c4fef6c0af 71 }
jiaxinZHOU 0:07c4fef6c0af 72
jiaxinZHOU 0:07c4fef6c0af 73 break;
jiaxinZHOU 0:07c4fef6c0af 74
jiaxinZHOU 0:07c4fef6c0af 75 case 2:
jiaxinZHOU 0:07c4fef6c0af 76 lcd.clear();
jiaxinZHOU 0:07c4fef6c0af 77 lcd.printString(" MENU ",0,0);
jiaxinZHOU 0:07c4fef6c0af 78 lcd.printString(" (PRASS A) ",0,1);
jiaxinZHOU 0:07c4fef6c0af 79 lcd.printString("PLAY GAME",0,2);
jiaxinZHOU 0:07c4fef6c0af 80 lcd.printString("TUTORIAL",0,3);
jiaxinZHOU 0:07c4fef6c0af 81 lcd.printString(">VERSION",0,4);
jiaxinZHOU 0:07c4fef6c0af 82 lcd.refresh();
jiaxinZHOU 0:07c4fef6c0af 83
jiaxinZHOU 0:07c4fef6c0af 84 if (pad.check_event(Gamepad::A_PRESSED))
jiaxinZHOU 0:07c4fef6c0af 85 {
jiaxinZHOU 0:07c4fef6c0af 86 lcd.clear();
jiaxinZHOU 0:07c4fef6c0af 87 lcd.printString(" V1.0.0 ",0,1);
jiaxinZHOU 0:07c4fef6c0af 88 lcd.printString(" Auther ",0,3);
jiaxinZHOU 0:07c4fef6c0af 89 lcd.printString(" ZHOU JIAXIN ",0,4);
jiaxinZHOU 0:07c4fef6c0af 90 lcd.refresh();
jiaxinZHOU 0:07c4fef6c0af 91 wait_ms(1000);
jiaxinZHOU 0:07c4fef6c0af 92 //printf("Direction = %i\n");
jiaxinZHOU 0:07c4fef6c0af 93 }
jiaxinZHOU 0:07c4fef6c0af 94 break;
jiaxinZHOU 0:07c4fef6c0af 95
jiaxinZHOU 0:07c4fef6c0af 96
jiaxinZHOU 0:07c4fef6c0af 97 }
jiaxinZHOU 0:07c4fef6c0af 98
jiaxinZHOU 0:07c4fef6c0af 99 }
jiaxinZHOU 0:07c4fef6c0af 100 }
jiaxinZHOU 0:07c4fef6c0af 101
jiaxinZHOU 0:07c4fef6c0af 102 int Menu::difficulty(N5110 &lcd, Gamepad &pad) {
jiaxinZHOU 0:07c4fef6c0af 103 go_on = 0;
jiaxinZHOU 0:07c4fef6c0af 104 while(go_on == 0)
jiaxinZHOU 0:07c4fef6c0af 105 {
jiaxinZHOU 0:07c4fef6c0af 106 sel = input(sel,pad);
jiaxinZHOU 0:07c4fef6c0af 107 wait_ms(200);
jiaxinZHOU 0:07c4fef6c0af 108 switch (sel)
jiaxinZHOU 0:07c4fef6c0af 109 {
jiaxinZHOU 0:07c4fef6c0af 110 case 0:
jiaxinZHOU 0:07c4fef6c0af 111 lcd.clear();
jiaxinZHOU 0:07c4fef6c0af 112 lcd.printString(" (PRASS A) ",0,1);
jiaxinZHOU 0:07c4fef6c0af 113 lcd.printString("> EASY ",0,2);
jiaxinZHOU 0:07c4fef6c0af 114 lcd.printString(" MEDIUM ",0,3);
jiaxinZHOU 0:07c4fef6c0af 115 lcd.printString(" HARD ",0,4);
jiaxinZHOU 0:07c4fef6c0af 116 lcd.refresh();
jiaxinZHOU 0:07c4fef6c0af 117 if (pad.check_event(Gamepad::A_PRESSED))
jiaxinZHOU 0:07c4fef6c0af 118 {
jiaxinZHOU 0:07c4fef6c0af 119 go_on = 1;
jiaxinZHOU 0:07c4fef6c0af 120 _fps = 6;
jiaxinZHOU 0:07c4fef6c0af 121 }
jiaxinZHOU 0:07c4fef6c0af 122 break;
jiaxinZHOU 0:07c4fef6c0af 123
jiaxinZHOU 0:07c4fef6c0af 124
jiaxinZHOU 0:07c4fef6c0af 125 case 1:
jiaxinZHOU 0:07c4fef6c0af 126 lcd.clear();
jiaxinZHOU 0:07c4fef6c0af 127 lcd.printString(" (PRASS A) ",0,1);
jiaxinZHOU 0:07c4fef6c0af 128 lcd.printString(" EASY ",0,2);
jiaxinZHOU 0:07c4fef6c0af 129 lcd.printString("> MEDIUM ",0,3);
jiaxinZHOU 0:07c4fef6c0af 130 lcd.printString(" HARD ",0,4);
jiaxinZHOU 0:07c4fef6c0af 131 lcd.refresh();
jiaxinZHOU 0:07c4fef6c0af 132 if (pad.check_event(Gamepad::A_PRESSED))
jiaxinZHOU 0:07c4fef6c0af 133 {
jiaxinZHOU 0:07c4fef6c0af 134 go_on = 1;
jiaxinZHOU 0:07c4fef6c0af 135 _fps = 8;
jiaxinZHOU 0:07c4fef6c0af 136 }
jiaxinZHOU 0:07c4fef6c0af 137 break;
jiaxinZHOU 0:07c4fef6c0af 138
jiaxinZHOU 0:07c4fef6c0af 139
jiaxinZHOU 0:07c4fef6c0af 140 case 2:
jiaxinZHOU 0:07c4fef6c0af 141 lcd.clear();
jiaxinZHOU 0:07c4fef6c0af 142 lcd.printString(" (PRASS A) ",0,1);
jiaxinZHOU 0:07c4fef6c0af 143 lcd.printString(" EASY ",0,2);
jiaxinZHOU 0:07c4fef6c0af 144 lcd.printString(" MEDIUM ",0,3);
jiaxinZHOU 0:07c4fef6c0af 145 lcd.printString("> HARD ",0,4);
jiaxinZHOU 0:07c4fef6c0af 146 lcd.refresh();
jiaxinZHOU 0:07c4fef6c0af 147 if (pad.check_event(Gamepad::A_PRESSED))
jiaxinZHOU 0:07c4fef6c0af 148 {
jiaxinZHOU 0:07c4fef6c0af 149 go_on = 1;
jiaxinZHOU 0:07c4fef6c0af 150 _fps = 11;
jiaxinZHOU 0:07c4fef6c0af 151 }
jiaxinZHOU 0:07c4fef6c0af 152 break;
jiaxinZHOU 0:07c4fef6c0af 153
jiaxinZHOU 0:07c4fef6c0af 154 }
jiaxinZHOU 0:07c4fef6c0af 155
jiaxinZHOU 0:07c4fef6c0af 156 }
jiaxinZHOU 0:07c4fef6c0af 157 return _fps;
jiaxinZHOU 0:07c4fef6c0af 158 }