Dependencies:   mbed

On Minerva

Revision:
12:009895f6b6e4
Parent:
11:494cc44777fe
Child:
13:eb60628db8bf
--- a/Interface/Interface.cpp	Mon May 11 09:09:31 2020 +0000
+++ b/Interface/Interface.cpp	Mon May 11 14:43:16 2020 +0000
@@ -23,7 +23,9 @@
 
 void Interface::init()
 {
-    
+    _gameover_flag = 0;
+    _sim_flag = 0;
+    _victory_flag = 0;
 }
 
 
@@ -52,9 +54,9 @@
         lcd.printString("   Start(Hell)",0,3);
         lcd.printString("         Exit",0,4);
         _d = pad.get_direction();
-        if(_d == N){
+        if(_d == N||_d ==NE||_d==NW){
             option_flag = fsm[option_flag].next_state[0];
-        } else if(_d == S){
+        } else if(_d == S||_d==SE||_d==SW){
             option_flag = fsm[option_flag].next_state[1];
         }
     lcd.drawSprite(0,8*option_flag+18,3,2,(int*)pointer); 
@@ -77,6 +79,7 @@
         wait(0.1);
         //printf("Not press B\n");
     }
+    _gameover_flag = 1;
 }
 
 int Interface::check_pause(N5110 &lcd,Gamepad &pad,int paused_flag)
@@ -108,6 +111,7 @@
 void Interface::exit(N5110 &lcd,Gamepad &pad)
 {
     lcd.clear();
+    pad.leds_off();
     while(!pad.B_pressed()){
         lcd.printString(" Press B back ",0,2);
         lcd.printString("   to menu   ",0,3);
@@ -126,4 +130,36 @@
         lcd.refresh();
         wait(0.1);
     }
+    _victory_flag = 1;
+}
+
+void Interface::simple_game(N5110 &lcd,Gamepad &pad)
+{
+    lcd.clear();
+    pad.init();
+    while(!pad.A_pressed()){
+        lcd.printString("  DO YOU WANT ",0,1);
+        lcd.printString(" MAKE IT EASY? ",0,2);
+        lcd.printString("  PRESS A to",0,3);
+        lcd.printString("  try again! ",0,4);
+        lcd.refresh();
+        wait(0.1); 
+    }
+    _sim_flag = 1;
+}
+
+int Interface::get_sim_flag()
+{
+    //printf("Get simple_flag %d\n",_sim_flag);
+    return _sim_flag;
+}
+
+int Interface::get_gameover_flag()
+{
+     return _gameover_flag;
+}
+
+int Interface::get_victory_flag()
+{
+    return _victory_flag;
 }
\ No newline at end of file