Ahmed Hedait / Mbed 2 deprecated el16ah

Dependencies:   mbed

Files at this revision

API Documentation at this revision

Comitter:
ahmedhedait
Date:
Tue May 08 14:20:24 2018 +0000
Parent:
24:166d726b0f13
Commit message:
I have re-adjusted my last comments so the code to be completed.

Changed in this revision

Ball/Ball.cpp Show annotated file Show diff for this revision Revisions of this file
Maze/Maze.cpp Show annotated file Show diff for this revision Revisions of this file
MazeEngine/MazeEngine.cpp Show annotated file Show diff for this revision Revisions of this file
--- a/Ball/Ball.cpp	Tue May 08 13:39:31 2018 +0000
+++ b/Ball/Ball.cpp	Tue May 08 14:20:24 2018 +0000
@@ -27,6 +27,7 @@
 
 void Ball::update(Direction dir)
 {
+    // ADJUSTING THE SPEED OF THE BALL FOR THE 4 DIFFERENT DIRECTIONS.
     if (dir == N) {
         _circy -= _speed;
     } else if (dir == S) {
@@ -39,7 +40,7 @@
         _circx += _speed;
     }
 
-    // THIS CODE IS NEEDED TO MAKE SURE THAT THE BALL DOES NOT OFF THE DIMENSIONS OF THE LCD SCREEN.
+    // THIS CODE IS NEEDED TO MAKE SURE THAT THE BALL DOES NOT SURPASS THE DIMENSIONS OF THE LCD SCREEN.
     if (_circy < 3) {
         _circy = 3;
     }
@@ -51,7 +52,6 @@
     if (_circx < 3) {
         _circx = 3;
     }
-
 }
 
 Vector2D Ball::get_pos() {
@@ -61,7 +61,7 @@
 
 void Ball::check_wall_collision(Gamepad &pad)
 {
-    // FOR LOOP TO STOP BALL FROM GOING THROUGH WALLS
+    // FOR LOOP TO STOP BALL FROM GOING THROUGH WALLS OF THE MAZE.
     for (int i = 0; i <= 12; i++) {
         //printf(" Stage  %d\n", i);
 
@@ -153,14 +153,17 @@
             _d = 1;
         }
 
-
+        // ADDED A PRINT FUNCTION TO DETECT IF COLLISION OCCURED BETWEEN BALL AND WALL OR NOT IN THE GIVEN DIMENSIONS.
         if (
             (_circy >= _b - 2) && //top
             (_circy <= 1 + _b + _d) && //bottom
             (_circx >= _a - 2) && //left
             (_circx <= _a + _c + 1)  //right
         ) {
-            printf("COLLISION");
+            // printf("COLLISION");
+            
+            /* CONDITIONS FOR THE 4 DIRECTIONS FOR EACH RECTANGLE NEEDS TO BE MET SO THAT THE BALL DOES NOT PASS 
+            THE DIFFERENT WALLS OF THE MAZE. */
             //left
             if (_circx <= _a - 2) {
                 if(_circx >= _a - 3) {
@@ -192,8 +195,9 @@
     }
     
     
-    // WHEN THE BALL REACHES THE Y-AXIS NEEDED WHICH IS 27, THEN THE JOYSTICK FREELY MOVE THE BALL RIGHT THROUGH THE OPENING OF THE SMAZE WALL,
-    // HOWEVER, IF THE BALL IS NOT EQUAL TO THE Y-AXIS NEEDED, THEN THE BALL MUST BE RESTRICTED TO MOVING SO THAT IT DOES NOT PASS THE WALLS.
+    /* GAVE THE AXIS NEEEDED FOR THE BALL TO GET OUT AND ONLY OUT OF THE OPENING OF THE MAZE. WEHN THE CONDITIONS ARE
+       NOT MEANT, THEN IT RESTRICTS THE BALL FROM MOVING OUTSIDE THE MAZE */  
+    
     if (_circy == 27) {
         if (_circx > WIDTH) {
             _circx = WIDTH;
--- a/Maze/Maze.cpp	Tue May 08 13:39:31 2018 +0000
+++ b/Maze/Maze.cpp	Tue May 08 14:20:24 2018 +0000
@@ -13,11 +13,11 @@
 
 void Maze::draw(N5110 &lcd)
 {
-        //I HAVE DRAWN THE RECTNAGLE OF THE MAZE IN TO START
+        // BORDERS OF THE MAZE STARTING AT (0,0), FILLING THE WHOLE SCREEN AND IS TRANSPARENT. 
         lcd.drawRect(0,0,84,48,FILL_TRANSPARENT);
 
-        // I HAVE DRAWN THE WALLS OF THE MAZE AS RECTANGLES AND JOINED THEM UP IN WHICH TO CREATE THE WALLS OF THE MAZE.
-        //           a  b c  d
+        // INTERIOR WALLS OF THE MAZE ARE DRAWN AS RECTANGLE SEPARATELY. 
+        //           _a_b_c _d
         lcd.drawRect(10,0,1,39,FILL_BLACK);
         lcd.drawRect(18,32,1,15,FILL_BLACK);
         lcd.drawRect(18,25,18,1,FILL_BLACK);
@@ -33,7 +33,8 @@
         lcd.drawRect(64,40,20,1,FILL_BLACK);
 
 
-        // I REMOVED SOME PIXELS FROM THE RIGHT SIDE OF THE MAZE TO CREATE THE OPENING IN WHICH THE BALL SHOULD GO THROUGH.
+        /* SOME PIXALS ARE REMOVED FROM THE RIGHT SIDE OF THE MAZE TO CREATE THE OPENING FOR 
+           THE BALL TO PASS THROUGH. */
         lcd.setPixel(83,24,false);
         lcd.setPixel(83,25,false);
         lcd.setPixel(83,26,false);
--- a/MazeEngine/MazeEngine.cpp	Tue May 08 13:39:31 2018 +0000
+++ b/MazeEngine/MazeEngine.cpp	Tue May 08 14:20:24 2018 +0000
@@ -30,20 +30,20 @@
 
 void MazeEngine::draw(N5110 &lcd)
 {
-    // draw the elements in the LCD buffer
-    // maze
+    // DRAW THE ELEMENTS OF MAZE.
     _maze.draw(lcd);
 
-    // ball
+    // BALL DRAWING
     _ball.draw(lcd);
 
-    // HERE IS A SIMPLE CODE THAT WHEN THE BALL PASS THROUGH THE OPENING THEN THE SCREEN SHOULD BE CLEARED IN WHICH BRAVO IS PRINTED TO
-    //    TELL THE USER THE GAME IS FINISHED.
+    /* HERE IS A SIMPLE CODE THAT WHEN THE BALL PASS THROUGH THE OPENING THEN THE SCREEN SHOULD BE CLEARED IN WHICH BRAVO IS PRINTED TO
+    TELL THE USER THE GAME IS FINISHED. */
     if (ball_pos.x > 83 & ball_pos.y == 27) {
         print_win(lcd);
     }
 }
 
+// CHECK IF THE GOAL IS MET, AND GIVE THE USER ABILITY TO RESTART THE GAME AGAIN.
 void MazeEngine::check_goal(Gamepad &pad)
 {
     ball_pos = _ball.get_pos();
@@ -54,9 +54,10 @@
     }
 }
 
+// CHECK IF THE GOAL IS MET, AND PRINT OUT TO THE LCD SCREEN. 
 void MazeEngine::print_win(N5110 &lcd)
 {
     lcd.clear();
-    lcd.printString("  Bravo!  ",12,2);
+    lcd.printString("  WELL DONE!  ",3,2);
     lcd.printString("  Press Start ",0,4);
 }
\ No newline at end of file