ELEC2645 (2018/19) / Mbed 2 deprecated el17mtu_

Dependencies:   mbed

Revision:
19:5e3ee84d9233
Parent:
18:59befe1eaa56
Child:
20:d9987ed262c7
--- a/ModeA/ModeA.cpp	Thu May 09 03:05:48 2019 +0000
+++ b/ModeA/ModeA.cpp	Thu May 09 03:28:09 2019 +0000
@@ -10,54 +10,45 @@
 
 }
 
-//initialise all values 
+//initialise all values
 void ModeA::initialise(N5110 &lcd)
 {
     x_position = 12; //x coordinate of square
     y_position = 18; //y coordinate of square
-    speed = 1; // speed of square 
-    gravity = 1; //gravitational force 
-
-    screen_width = 70; // pixel at which bar begins 
+    speed = 1; // speed of square
+    gravity = 1; //gravitational force
+    screen_width = 70; // pixel at which bar begins
     bar_width = 10; // width of the bar
-
     bar_speed = 2; // spped of the bar
     score = 0; // score
-
-
     srand(time(NULL));
     size_top = rand() % 15; //15 random lengths of the top bar
     srand(time(NULL));
     size_bottom = rand() % 15; //15 random length of the bottom bar
-
-
 }
 
-//game function 
+//game function
 void ModeA::Game(N5110 &lcd)
-
 {
-
     char buffer[14];
-    sprintf(buffer,"%2d",score);
-    lcd.printString(buffer,70,0);
-    lcd.drawRect(x_position, y_position,6,6,FILL_BLACK);
+    sprintf(buffer,"%2d",score); //print score on the screen
+    lcd.printString(buffer,70,0); // print the score at the right end of screen
+    lcd.drawRect(x_position, y_position,6,6,FILL_BLACK); //draw the square
     lcd.refresh();
 
-
-
+    // multiply gravity with 5 for a resonable speed
     if ( pad.check_event(Gamepad::Y_PRESSED) == true) {
-
         speed = speed - gravity*5;
-
     }
 
+    //if the square drops to the bottom of screen- GAME OVER
+    //redifine all parameters to 0, clear screen
+    //press back to play again
     if (y_position > 44) {
-
         lcd.clear();
         lcd.printString("GAME OVER",6,2);
         lcd.printString("Press BACK",6,4);
-        pad.tone(2000.0,0.3);
+        pad.tone(2000.0,0.3); //music
         lcd.refresh();
         bar_speed = 0;
         speed = 0;
@@ -66,43 +57,39 @@
         bar_width = 0;
         size_top = 0;
         size_bottom = 0;
-
         wait(0.5);
-
     }
 
-
-
+    //if square goes to top part of screen, goes back down
     if (y_position < 0) {
         y_position = 0;
         speed = 0;
     }
 
-    speed = speed + gravity;
-    y_position = y_position + speed;
+    speed = speed + gravity; //increment the speed by the value of gravity
+    y_position = y_position + speed; // y coordinate changes with speed
     wait(0.1);
 
-
+    //draw the 2 bars
+    //the top one starts at y coordinate 0 and it has a height of size_top (random)
+    //the bottom one starts size_bottom pixels above the edge of the screen
     lcd.drawRect(screen_width,0,bar_width,size_top,FILL_BLACK);
     lcd.drawRect(screen_width,48-size_bottom,bar_width,size_bottom,FILL_BLACK);
     lcd.refresh();
-  
 
+    // if the bar and square have the same x coordinates and 
+    // their y coordinates don't intersect, score increases by 1
     if ((screen_width == x_position) && (size_top < y_position)) {
         score = score + 1;
         lcd.clear();
-        sprintf(buffer,"%2d",score);
+        sprintf(buffer,"%2d",score); //update buffer
         lcd.printString("Reset",15,2);
         lcd.refresh();
         wait(1.0);
-        
-      
-        
- }
+    }
 
-
+    //if X is pressed random hights of the bars are genetrated 
     if ( pad.check_event(Gamepad::X_PRESSED) == true) {
-
         srand(time(NULL));
         size_top = rand() % 15;
         srand(time(NULL));
@@ -110,8 +97,8 @@
 
     }
 
+    //if the bar and ball collide, Game Over
     if ((screen_width ==  x_position)&& (size_top >  y_position))  {
-
         lcd.clear();
         lcd.printString("GAME OVER",6,2);
         lcd.printString("Press BACK",6,4);
@@ -130,12 +117,12 @@
         wait(0.5);
 
     }
-    
-       
-  //  if (score == 2) {
+
+
+    //  if (score == 2) {
     //    lcd.clear();
     //    lcd.printString("Press Reset",6,2);
-     //   }
+    //   }
 
 
     screen_width = screen_width - bar_speed;