ELEC2645 (2018/19) / Mbed 2 deprecated el18jz_

Dependencies:   mbed

Embed: (wiki syntax)

« Back to documentation index

Show/hide line numbers Menu.cpp Source File

Menu.cpp

00001 #include "Menu.h"
00002 
00003 Menu::Menu() {
00004     
00005 }
00006     
00007 Menu::~Menu() {
00008     
00009 }
00010 
00011 int Menu::input( int select,Gamepad &pad)
00012 {
00013     Direction d;
00014     d = pad.get_direction();
00015     if(d == N)
00016     {
00017              select= select - 1;
00018     }
00019     
00020     if (d == S)
00021     {
00022              select = select + 1;
00023     }
00024     return  select;
00025 }
00026 
00027 
00028 void Menu::menus(N5110 &lcd, Gamepad &pad)
00029 {
00030     go_on = 0;
00031     sel = 0;
00032     while(go_on == 0)
00033     {
00034         sel = input(sel,pad);
00035         wait_ms(200);
00036         switch (sel)
00037         {
00038             case 0:
00039             lcd.clear();
00040             lcd.printString("    MENU    ",0,0);
00041             lcd.printString("  (PRASS A) ",0,1);
00042             lcd.printString(">PLAY GAME",0,2);
00043             lcd.printString("TUTORIAL",0,3);
00044             lcd.printString("VERSION",0,4);
00045             lcd.refresh();
00046             
00047             if (pad.check_event(Gamepad::A_PRESSED)){
00048             go_on = 1;
00049             }
00050             break;
00051             
00052             case 1:
00053             lcd.clear();
00054             lcd.printString("    MENU    ",0,0);
00055             lcd.printString("  (PRASS A) ",0,1);
00056             lcd.printString("PLAY GAME",0,2);
00057             lcd.printString(">TUTORIAL",0,3);
00058             lcd.printString("VERSION",0,4);
00059             lcd.refresh();
00060             
00061             // either clicking joystick or pressing A selects function
00062             if (pad.check_event(Gamepad::A_PRESSED)) 
00063             {   
00064                 lcd.clear();
00065                 lcd.printString("PUSH JOYSTICK ",0,1);
00066                 lcd.printString("    TO CTRL   ",0,2);
00067                 lcd.printString("   DIRCTION   ",0,3);
00068                 lcd.refresh();
00069                 //printf("Direction = %i\n");
00070                 wait_ms (1000);
00071             }
00072 
00073             break;
00074             
00075             case 2:
00076             lcd.clear();
00077             lcd.printString("    MENU    ",0,0);
00078             lcd.printString("  (PRASS A) ",0,1);
00079             lcd.printString("PLAY GAME",0,2);
00080             lcd.printString("TUTORIAL",0,3);
00081             lcd.printString(">VERSION",0,4);
00082             lcd.refresh();
00083             
00084             if (pad.check_event(Gamepad::A_PRESSED)) 
00085             {   
00086                 lcd.clear();
00087                 lcd.printString("    V1.0.0    ",0,1);
00088                 lcd.printString("    Auther    ",0,3);
00089                 lcd.printString("  ZHOU JIAXIN ",0,4);
00090                 lcd.refresh();
00091                 wait_ms(1000);
00092                 //printf("Direction = %i\n");
00093             }
00094             break;
00095             
00096 
00097         }
00098         
00099     }
00100 }
00101 
00102 int Menu::difficulty(N5110 &lcd, Gamepad &pad) {
00103     go_on = 0;
00104     while(go_on == 0)
00105     {
00106         sel = input(sel,pad);
00107         wait_ms(200);
00108         switch (sel)
00109         {
00110             case 0:
00111             lcd.clear();
00112             lcd.printString("    (PRASS A)  ",0,1);
00113             lcd.printString(">     EASY     ",0,2);
00114             lcd.printString("     MEDIUM    ",0,3);
00115             lcd.printString("      HARD     ",0,4);
00116             lcd.refresh();
00117             if (pad.check_event(Gamepad::A_PRESSED)) 
00118             {
00119             go_on = 1;
00120             _fps = 6;
00121             }
00122             break;
00123 
00124             
00125             case 1:
00126             lcd.clear();
00127             lcd.printString("    (PRASS A)  ",0,1);
00128             lcd.printString("      EASY     ",0,2);
00129             lcd.printString(">    MEDIUM    ",0,3);
00130             lcd.printString("      HARD     ",0,4);
00131             lcd.refresh();
00132             if (pad.check_event(Gamepad::A_PRESSED)) 
00133             {
00134             go_on = 1;
00135             _fps = 8;
00136             }
00137             break;
00138 
00139             
00140             case 2:
00141             lcd.clear();
00142             lcd.printString("    (PRASS A)  ",0,1);
00143             lcd.printString("      EASY     ",0,2);
00144             lcd.printString("     MEDIUM    ",0,3);
00145             lcd.printString(">     HARD     ",0,4);
00146             lcd.refresh();
00147             if (pad.check_event(Gamepad::A_PRESSED)) 
00148             {
00149             go_on = 1;
00150             _fps = 12;
00151             }
00152             break;
00153 
00154         }
00155         
00156     }
00157     return _fps;
00158 }