ELEC2645 (2018/19) / Mbed 2 deprecated el18jz_

Dependencies:   mbed

Revision:
0:07c4fef6c0af
Child:
4:0f2006e9c8f8
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Menus/Menu.cpp	Wed May 08 21:44:02 2019 +0000
@@ -0,0 +1,158 @@
+#include "Menu.h"
+
+Menu::Menu() {
+    
+}
+    
+Menu::~Menu() {
+    
+}
+
+int Menu::input( int select,Gamepad &pad)
+{
+    Direction d;
+    d = pad.get_direction();
+    if(d == N)
+    {
+             select= select - 1;
+    }
+    
+    if (d == S)
+    {
+             select = select + 1;
+    }
+    return  select;
+}
+
+
+void Menu::menus(N5110 &lcd, Gamepad &pad)
+{
+    go_on = 0;
+    sel = 0;
+    while(go_on == 0)
+    {
+        sel = input(sel,pad);
+        wait_ms(200);
+        switch (sel)
+        {
+            case 0:
+            lcd.clear();
+            lcd.printString("    MENU    ",0,0);
+            lcd.printString("  (PRASS A) ",0,1);
+            lcd.printString(">PLAY GAME",0,2);
+            lcd.printString("TUTORIAL",0,3);
+            lcd.printString("VERSION",0,4);
+            lcd.refresh();
+            
+            if (pad.check_event(Gamepad::A_PRESSED)){
+            go_on = 1;
+            }
+            break;
+            
+            case 1:
+            lcd.clear();
+            lcd.printString("    MENU    ",0,0);
+            lcd.printString("  (PRASS A) ",0,1);
+            lcd.printString("PLAY GAME",0,2);
+            lcd.printString(">TUTORIAL",0,3);
+            lcd.printString("VERSION",0,4);
+            lcd.refresh();
+            
+            // either clicking joystick or pressing A selects function
+            if (pad.check_event(Gamepad::A_PRESSED)) 
+            {   
+                lcd.clear();
+                lcd.printString("PUSH JOYSTICK ",0,1);
+                lcd.printString("    TO CTRL   ",0,2);
+                lcd.printString("   DIRCTION   ",0,3);
+                lcd.refresh();
+                //printf("Direction = %i\n");
+                wait_ms (1000);
+            }
+
+            break;
+            
+            case 2:
+            lcd.clear();
+            lcd.printString("    MENU    ",0,0);
+            lcd.printString("  (PRASS A) ",0,1);
+            lcd.printString("PLAY GAME",0,2);
+            lcd.printString("TUTORIAL",0,3);
+            lcd.printString(">VERSION",0,4);
+            lcd.refresh();
+            
+            if (pad.check_event(Gamepad::A_PRESSED)) 
+            {   
+                lcd.clear();
+                lcd.printString("    V1.0.0    ",0,1);
+                lcd.printString("    Auther    ",0,3);
+                lcd.printString("  ZHOU JIAXIN ",0,4);
+                lcd.refresh();
+                wait_ms(1000);
+                //printf("Direction = %i\n");
+            }
+            break;
+            
+
+        }
+        
+    }
+}
+
+int Menu::difficulty(N5110 &lcd, Gamepad &pad) {
+    go_on = 0;
+    while(go_on == 0)
+    {
+        sel = input(sel,pad);
+        wait_ms(200);
+        switch (sel)
+        {
+            case 0:
+            lcd.clear();
+            lcd.printString("    (PRASS A)  ",0,1);
+            lcd.printString(">     EASY     ",0,2);
+            lcd.printString("     MEDIUM    ",0,3);
+            lcd.printString("      HARD     ",0,4);
+            lcd.refresh();
+            if (pad.check_event(Gamepad::A_PRESSED)) 
+            {
+            go_on = 1;
+            _fps = 6;
+            }
+            break;
+
+            
+            case 1:
+            lcd.clear();
+            lcd.printString("    (PRASS A)  ",0,1);
+            lcd.printString("      EASY     ",0,2);
+            lcd.printString(">    MEDIUM    ",0,3);
+            lcd.printString("      HARD     ",0,4);
+            lcd.refresh();
+            if (pad.check_event(Gamepad::A_PRESSED)) 
+            {
+            go_on = 1;
+            _fps = 8;
+            }
+            break;
+
+            
+            case 2:
+            lcd.clear();
+            lcd.printString("    (PRASS A)  ",0,1);
+            lcd.printString("      EASY     ",0,2);
+            lcd.printString("     MEDIUM    ",0,3);
+            lcd.printString(">     HARD     ",0,4);
+            lcd.refresh();
+            if (pad.check_event(Gamepad::A_PRESSED)) 
+            {
+            go_on = 1;
+            _fps = 11;
+            }
+            break;
+
+        }
+        
+    }
+    return _fps;
+}
\ No newline at end of file