Snake vs Block Game to be run upon K64F.

Dependencies:   mbed

Revision:
29:c6358c39a70e
Parent:
28:d2c621d67e3b
Child:
30:461231877c89
--- a/StartScreen/StartScreen.cpp	Fri Apr 12 16:43:16 2019 +0000
+++ b/StartScreen/StartScreen.cpp	Sun Apr 14 10:24:59 2019 +0000
@@ -183,9 +183,7 @@
 {
     lcd.clear();
     wait(1/cs);
-    lcd.drawSprite(50,i,7,9,(int *)arrow);
-    wait(1/cs);
-    while ((pad.check_event(Gamepad::JOY_PRESSED) == false)&&(pad.check_event(Gamepad::START_PRESSED) == false)) {  //Change this to if button pressed.
+    while ((pad.check_event(Gamepad::A_PRESSED) == false)&&(pad.check_event(Gamepad::START_PRESSED) == false)) {  //Change this to if button pressed.
         lcd.printString("SnakeVSBlock",5,0);
         lcd.printString("Play",0,2);
         lcd.printString("Settings",0,3);
@@ -204,7 +202,6 @@
         lcd.clear();
     }
     pad.tone(1000.0,0.1);
-    
     if(i == 16)
     {
         menu_screen2(lcd, pad);
@@ -212,45 +209,43 @@
     else if(i == 24)
     {
         settings.info(lcd, pad);
-        wait(1/cs);
-    while (pad.check_event(Gamepad::BACK_PRESSED) == false) {  //if button pressed.
-        
-        Direction d = pad.get_direction();
-        wait(1/cs);
-        lcd.clear();
-        
-        if((d==E)&&(st==5))  {
-            st=1;
-        }
-        else if((d==W)&&(st==1))  {
-            st=5;
-        }
-        else if((d==E)&&(1<=st<=4))  {
-            st=st+1;
-        }
-        else if((d==W)&&(2<=st<=5))  {
-            st=st-1;
+        while (pad.check_event(Gamepad::BACK_PRESSED) == false) {  //if button pressed.
+            Direction d = pad.get_direction();
+            wait(1/cs);
+            lcd.clear();
+            
+            if((d==E)&&(st==5))  {
+                st=1;
+            }
+            else if((d==W)&&(st==1))  {
+                st=5;
+            }
+            else if((d==E)&&(1<=st<=4))  {
+                st=st+1;
+            }
+            else if((d==W)&&(2<=st<=5))  {
+                st=st-1;
+            }
+            
+            lcd.drawSprite(5,22,13,8,(int *)navL); //Function used to draw the sprite.
+            lcd.drawSprite(71,22,13,8,(int *)navR); //Function used to draw the sprite.
+            if(st==1)  { 
+                cs = settings.controlSensitivity(lcd, pad);
+            }
+            if(st==2)  {
+                settings.brigntness(lcd, pad);
+            }
+            if(st==3)  {
+                settings.contrast(lcd, pad);
+            }
+            if(st==4)  {
+                settings.volume(lcd, pad);
+            }
+            if(st==5)  {
+                sc = settings.showCredits(lcd, pad);
+            } 
+            lcd.refresh();
         }
-        
-        lcd.drawSprite(5,22,13,8,(int *)navL); //Function used to draw the sprite.
-        lcd.drawSprite(71,22,13,8,(int *)navR); //Function used to draw the sprite.
-        if(st==1)  { 
-            cs = settings.controlSensitivity(lcd, pad);
-        }
-        if(st==2)  {
-            settings.brigntness(lcd, pad);
-        }
-        if(st==3)  {
-            settings.contrast(lcd, pad);
-        }
-        if(st==4)  {
-            settings.volume(lcd, pad);
-        }
-        if(st==5)  {
-            sc = settings.showCredits(lcd, pad);
-        } 
-        lcd.refresh();
-    }
     pad.tone(1000.0,0.1);
     menu_screen1(lcd, pad);
 }
@@ -265,14 +260,10 @@
 {
     lcd.clear();
     wait(2/cs);
-    while ((pad.check_event(Gamepad::JOY_PRESSED) == false)&&(pad.check_event(Gamepad::START_PRESSED) == false)) {  //Change this to if button pressed.
-
+    while ((pad.check_event(Gamepad::A_PRESSED) == false)&&(pad.check_event(Gamepad::START_PRESSED) == false)) {  //Change this to if button pressed.
+    
         Direction d = pad.get_direction();
-        lcd.clear();
-        lcd.drawRect(27,18,30,20,FILL_TRANSPARENT);
-        lcd.drawSprite(10,22,13,8,(int *)navL); //Function used to draw the sprite.
-        lcd.drawSprite(65,22,13,8,(int *)navR); //Function used to draw the sprite.
-        
+        wait(1/cs);
         if(((d==E)||(d==W))&&(lr==1))  {
             lr=2;
         }
@@ -280,7 +271,10 @@
         else if(((d==E)||(d==W))&&(lr==2))  {
             lr=1;
         }
-        
+        lcd.clear();
+        lcd.drawRect(27,18,30,20,FILL_TRANSPARENT);
+        lcd.drawSprite(10,22,13,8,(int *)navL); //Function used to draw the sprite.
+        lcd.drawSprite(65,22,13,8,(int *)navR); //Function used to draw the sprite.
         if(lr==1)  {
             lcd.printString("Free Wave",14,1);
             lcd.refresh();
@@ -289,8 +283,7 @@
             lcd.printString("Bullet Shower",4,1);
             lcd.drawSprite(29,19,13,5,(int *)bullet); //Function used to draw the sprite.
         }
-        wait(1/cs);
-        if (pad.check_event(Gamepad::BACK_PRESSED) == true) { 
+        if (pad.check_event(Gamepad::BACK_PRESSED) == true) {
             pad.tone(1000.0,0.1);
             menu_screen1(lcd, pad);
         }
@@ -298,19 +291,16 @@
     }
     pad.tone(1000.0,0.1);
     lcd.clear();
-    wait(1/cs);
     menu_screen3(lcd, pad);
 }
 void StartScreen::menu_screen3(N5110 &lcd, Gamepad &pad)
 {
     lcd.clear();
-    wait(1/cs);
-    
-    while ((pad.check_event(Gamepad::JOY_PRESSED) == false)&&(pad.check_event(Gamepad::START_PRESSED) == false)) {  //Change this to if button pressed.
+    wait(2/cs);
+    while ((pad.check_event(Gamepad::A_PRESSED) == false)&&(pad.check_event(Gamepad::START_PRESSED) == false)) {  //Change this to if button pressed.
         
         Direction d = pad.get_direction();
         wait(1/cs);
-    
         if((d==E)&&(gs==4))  {
             gs=1;
         }
@@ -329,7 +319,7 @@
         lcd.printString("Game Speed",10,1);
         if(gs==1)  {
             lcd.printString("SNAIL",26,3);
-            fps = 10;
+            fps = 12;
         }
         if(gs==2)  {
             lcd.printString("TURTLE",24,3);
@@ -337,15 +327,14 @@
         }
         if(gs==3)  {
             lcd.printString("RABBIT",24,3);
-            fps = 25;
+            fps = 22;
         }
         if(gs==4)  {
             lcd.printString("CHEETHA",21,3);
-            fps = 33;
+            fps = 27;
         }
         
         if (pad.check_event(Gamepad::BACK_PRESSED) == true) {
-            wait(1/cs);
             pad.tone(1000.0,0.1);
             menu_screen2(lcd, pad);
         }