contains my game for the embedded systems project 2645

Dependencies:   mbed FXOS8700CQQQ

Revision:
12:1d3b0218d8d0
Parent:
11:d4aaa959bb20
Child:
13:cec06eb1d7b0
diff -r d4aaa959bb20 -r 1d3b0218d8d0 GameEngine/RocketRacer.cpp
--- a/GameEngine/RocketRacer.cpp	Thu Mar 28 11:53:01 2019 +0000
+++ b/GameEngine/RocketRacer.cpp	Sat Mar 30 13:01:59 2019 +0000
@@ -1,6 +1,7 @@
 #include "RocketRacer.h"
 
-Gamepad Mypad;
+
+
 const int enemy[11][9] =   {
     { 0,0,0,0,1,0,0,0,0 },
     { 0,0,0,1,1,1,0,0,0 },
@@ -29,8 +30,7 @@
     { 0,0,1,1,1,1,1,0,0 },
 };
 
-int enemy_0_pos, enemy_1_pos, enemy_phase;
-int Joy_X;
+int first_enemy_position, second_enemy_position, enemy_phase;
 int game_speed = 0;
 int score = 0;
 char POS=2;
@@ -39,25 +39,25 @@
 
  
 
-void RocketRacer::MainGameDisplay(N5110 &lcd){
+void RocketRacer::Main_Game_Display(N5110 &lcd){
     
     lcd.clear();
     lcd.drawRect(0,0,50,47,FILL_TRANSPARENT);
-    char buffer[14];
-    char buffer1[14];
-    char buffer2[14];
-    char buffer3[14];
+    char score_buffer[14];
+    char score_buffer1[14];
+    char level_buffer[14];
+    char level_buffer1[14];
 
     //dispaly score
-    sprintf(buffer,"score");
-    lcd.printString(buffer,55,0);
-    sprintf(buffer1,"%d",score);
-    lcd.printString(buffer1,58,1);
+    sprintf(score_buffer,"score");
+    lcd.printString(score_buffer,55,0);
+    sprintf(score_buffer1,"%d",score);
+    lcd.printString(score_buffer1,58,1);
     //dispaly level
-    sprintf(buffer2,"Level");
-    lcd.printString(buffer2,55,3);
-    sprintf(buffer3,"%d",game_speed);
-    lcd.printString(buffer3,58,4);
+    sprintf(level_buffer,"Level");
+    lcd.printString(level_buffer,55,3);
+    sprintf(level_buffer1,"%d",game_speed);
+    lcd.printString(level_buffer1,58,4);
     lcd.refresh();
     
     }
@@ -78,32 +78,35 @@
     }
     else if(d==CENTRE){
         control = true;
-        printf("its middle\n");
+        printf("its center\n");
         }
 }
+
+
 void RocketRacer::Generate_New_Enemy(){
+  
   srand(time(NULL));
   
-        if (enemy_dead){ 
-            enemy_0_pos = POS; 
-            enemy_1_pos = (rand() % 3)+1; 
-            enemy_phase = 0; 
-            enemy_dead = false;
-            }
+  if (enemy_dead){ 
+    first_enemy_position = POS; 
+    second_enemy_position = (rand() % 3)+1; 
+    enemy_phase = 0; 
+    enemy_dead = false;
     }
+}
     
 void RocketRacer::Check_Enemy_Dead(N5110 &lcd,Gamepad &pad){
              
-             if (enemy_phase>22 && ((enemy_0_pos == POS) || (enemy_1_pos == POS)) ){
-                 EndGame(pad,lcd);
-             }
-             if (enemy_phase>40){
-                 enemy_dead = true;
-                 score++;
-                 } 
+     if (enemy_phase>22 && ((first_enemy_position== POS) || (second_enemy_position == POS)) ){
+         End_Game(pad,lcd);
+     }
+     if (enemy_phase>40){
+         enemy_dead = true;
+         score++;
+         } 
     }
     
-void RocketRacer::GameLoop(N5110 &lcd,Gamepad &pad){
+void RocketRacer::Game_Loop(N5110 &lcd,Gamepad &pad){
     
         lcd.clear(); 
     
@@ -113,39 +116,49 @@
         Generate_New_Enemy();
         
         
-         enemy_position(lcd,enemy_0_pos, enemy_phase);
+         enemy_position(lcd,first_enemy_position, enemy_phase);
          enemy_phase++;
-         enemy_position(lcd,enemy_1_pos, enemy_phase);
+         enemy_position(lcd,second_enemy_position, enemy_phase);
          enemy_phase++;
          
          Check_Enemy_Dead(lcd,pad);
          
-         Game_difficulty();
+         Game_difficulty(pad);
          
          lcd.refresh();
     }
 
 
-//adds difficulty to the game after proceeding each level
-void RocketRacer::Game_difficulty(){
-     
+//adds difficulty to the game after proceeding with each level
+void RocketRacer::Game_difficulty(Gamepad &pad){
+  
      if (score>=0 && score<=5){
-         game_speed = 1;
+        pad.led(1,1.0);
+         game_speed = 1; 
          wait(0.09);
-         }
+         }  
     if (score>5 && score<=10){
+      pad.led(2,1.0);
         game_speed = 2;
          wait(0.07);
-        }
+        }      
     if (score>10 && score<=20){
+        pad.led(3,1.0);
         game_speed = 3; 
         wait(0.06); 
         }
-    if (score>20 && score<=30){
+    if (score>20 && score<=25){
+        pad.led(4,1.0);
         game_speed = 4; 
         wait(0.05); 
         }
+    if (score>25 && score<=30){
+        pad.led(5,1.0);
+        game_speed = 4; 
+        wait(0.05); 
+        }    
    if (score>30){
+       pad.led(6,1.0);
        game_speed = 5;
         wait(0.03);
         }
@@ -170,7 +183,7 @@
 
 void RocketRacer::player_position(N5110 &lcd,char RocketPosition){
   
-  MainGameDisplay(lcd);
+  Main_Game_Display(lcd);
   
   
   if (RocketPosition==1){   
@@ -186,17 +199,18 @@
 }
 
 
-void RocketRacer::EndGame(Gamepad &pad,N5110 &lcd){
+void RocketRacer::End_Game(Gamepad &pad,N5110 &lcd){
     lcd.clear();
     char buffer1[14];
+    
     lcd.printString("Game over!!!",5,0);
     lcd.printString("Better Luck ",2,1);
     lcd.printString("next time",2,2);
     lcd.printString("High score:",2,3);
-    
     sprintf(buffer1,"%d",score);
     lcd.printString(buffer1,20,4); 
     pad.leds_on();
+    pad.tone(5000,2);
        
     lcd.refresh();
     wait(500);