Calum Johnston / Mbed 2 deprecated BrickBreaker

Dependencies:   N5110 PinDetect PowerControl mbed

Revision:
10:19c6aba3beec
Parent:
9:8447ce6f51ae
Child:
11:d9d5bad8f5e2
--- a/BrickBreaker.cpp	Thu May 07 18:01:40 2015 +0000
+++ b/BrickBreaker.cpp	Sun May 10 16:57:14 2015 +0000
@@ -612,7 +612,7 @@
         } else if (surround[4] && surround[5] && surround[6] && !surround[3]) { //right edge low
             d = 13;
         }
-        //FOR CeNTRE SQUARES        
+        //FOR CENTRE SQUARES        
         else if (surround[1] && surround[2]) { //top edge
             switch (d) {
                 case 3:
@@ -715,21 +715,197 @@
        
         //FOR 2 TOUCHING OFFCENTRE EDGE SQUARES
         else if (surround[0] && surround[1]) { //top edge left
-            d = 9;
+            switch (d) {
+                case 0:
+                    d = 7;
+                    break;
+                case 1:
+                    d = 6;
+                    break;
+                case 2: 
+                    d = 5;
+                    break;
+                case 3:
+                    d = 5;
+                    break;
+                case 15:
+                    d = 8;
+                    break;
+                case 14:
+                    d = 9;
+                    break;
+                case 13:
+                    d = 10;
+                    break;
+            }        
         } else if (surround[2] && surround[3]) { //top edge right
-            d = 7;
+            switch (d) {
+                case 0:
+                    d = 9;
+                    break;
+                case 1:
+                    d = 8;
+                    break;
+                case 2: 
+                    d = 7;
+                    break;
+                case 3:
+                    d = 6;
+                    break;
+                case 15:
+                    d = 10;
+                    break;
+                case 14:
+                    d = 11;
+                    break;
+                case 13:
+                    d = 11;
+                    break;
+            } 
         } else if (surround[9] && surround[8]) { // low edge right
-            d = 1;
+            switch (d) {
+                case 11:
+                    d = 14;
+                    break;
+                case 10:
+                    d = 15;
+                    break;
+                case 9: 
+                    d = 0;
+                    break;
+                case 8:
+                    d = 1;
+                    break;
+                case 7:
+                    d = 2;
+                    break;
+                case 6:
+                    d = 3;
+                    break;
+                case 5:
+                    d = 3;
+                    break;
+            } 
         } else if (surround[7] && surround[6]) { //low edge left
-            d = 15;
+            switch (d) {
+                case 11:
+                    d = 13;
+                    break;
+                case 10:
+                    d = 13;
+                    break;
+                case 9: 
+                    d = 14;
+                    break;
+                case 8:
+                    d = 15;
+                    break;
+                case 7:
+                    d = 0;
+                    break;
+                case 6:
+                    d = 1;
+                    break;
+                case 5:
+                    d = 2;
+                    break;
+            } 
         } else if (surround[0] && surround[11]) { //left edge top
-            d =7;
+            switch (d) {
+                case 9:
+                    d = 8;
+                    break;
+                case 10:
+                    d = 7;
+                    break;
+                case 11: 
+                    d = 6;
+                    break;
+                case 13:
+                    d = 5;
+                    break;
+                case 14:
+                    d = 3;
+                    break;
+                case 15:
+                    d = 2;
+                    break;
+                case 0:
+                    d = 1;
+                    break;                    
+            } 
         } else if (surround[3] && surround[4]) { //right edge top
-            d = 9;
+            switch (d) {
+                case 0:
+                    d = 15;
+                    break;
+                case 1:
+                    d = 14;
+                    break;
+                case 2: 
+                    d = 13;
+                    break;
+                case 3:
+                    d = 11;
+                    break;
+                case 5:
+                    d = 10;
+                    break;
+                case 6:
+                    d = 9;
+                    break;
+                case 7:
+                    d = 8;
+                    break;
+            } 
         } else if (surround[10] && surround[9]) { //left edge low
-            d = 1;
+            switch (d) {
+                case 8:
+                    d = 7;
+                    break;
+                case 9:
+                    d = 6;
+                    break;
+                case 10:
+                    d = 5;
+                    break;
+                case 11: 
+                    d = 3;
+                    break;
+                case 13:
+                    d = 2;
+                    break;
+                case 14:
+                    d = 1;
+                    break;
+                case 15:
+                    d = 0;
+                    break;
+            } 
         } else if (surround[5] && surround[6]) { //right edge low
-            d = 15;
+            switch (d) {
+                case 8:
+                    d = 9;
+                    break;
+                case 1:
+                    d = 0;
+                    break;
+                case 2: 
+                    d = 15;
+                    break;
+                case 3:
+                    d = 14;
+                    break;
+                case 5:
+                    d = 13;
+                    break;
+                case 6:
+                    d = 11;
+                    break;
+                case 7:
+                    d = 10;
+                    break;
+            } 
         } 
         // FOR  1 TOUCHING CORNER SQUARE
         else if (surround[3]) { //top right
@@ -763,14 +939,14 @@
     setAngle(); //check what ball is touching get new angle
     doBricks(); //check what bricks are touching clear all necessary
     moveBall1(d); //move ball with new angle
-    wait_ms(25); //wait
+    wait_ms(35); //wait
 
     if (d == e) {
 
         setAngle();
         doBricks();
         moveBall2(d);
-        wait_ms(25);
+        wait_ms(35);
     }
 }