Snake vs Block Game to be run upon K64F.

Dependencies:   mbed

Revision:
13:9785f2404045
Parent:
12:1e601b176437
Child:
14:0dfe67f9c97e
--- a/SnakevsBlock/SnakevsBlock.cpp	Tue Apr 02 17:06:22 2019 +0000
+++ b/SnakevsBlock/SnakevsBlock.cpp	Wed Apr 03 17:51:19 2019 +0000
@@ -16,6 +16,7 @@
     length = 3;
     foodbuff = 0;
     send=0;
+    speed = 1;
     //memory = 0;
 }
 
@@ -43,7 +44,9 @@
             foodbuff = 110;
         }
     }
-    send = _b.draw(lcd, length, blocknum, srn);
+    if(foodbuff >=4) {
+        send = _b.draw(lcd, length, blocknum, srn);
+    }
     
     //Code to print length on game screen.
     char bufferscore[14];
@@ -64,7 +67,8 @@
 {
     CheckSnakeFoodCollision(pad); //Function checks for when the snake collides with it's food.
     CheckSnakeBlockCollision(pad); //Function checks for when the snake collides with any of the blocks.
-    _s.update(_d,_mag, length);
+    CheckSnakeBlockSidesCollision(pad, _d); //Function checks for when the snake collides with any of the blocks' sides.
+    _s.update(_d,_mag, length, speed);
     _f.update();
     _ff.update();
     _fff.update(); 
@@ -123,7 +127,7 @@
         //audio feedback
         pad.tone(1000.0,0.1);
         f_pos.x = rand() % 82;
-        f_pos.y = 0;
+        f_pos.y = -2;
         
         length+=1;
         
@@ -154,7 +158,7 @@
         // audio feedback
         pad.tone(1000.0,0.1);
         ff_pos.x = rand() % 82;
-        ff_pos.y = 0;
+        ff_pos.y = -2;
         
         length+=1;
         
@@ -185,7 +189,7 @@
         // audio feedback
         pad.tone(1000.0,0.1);
         fff_pos.x = rand() % 82;
-        fff_pos.y = 0;
+        fff_pos.y = -2;
         
         length+=1;
         
@@ -236,18 +240,18 @@
         
         //printf("snake collision working \n");
         //audio feedback
-        if(blocknum > -1)  {
+        if(blocknum > 0)  {
             b_pos.y = 0;
-            pad.tone(1000.0,0.1);
         }
         srn = 0;
         blocknum = b_number[srn];
         send=1;
         blocknum-=1;
-        if(blocknum >= -1)  {  // to make sure that snake doesn't decrease in length if number on the block is less than 1;
+        if(blocknum >= 0)  {  // to make sure that snake doesn't decrease in length if number on the block is less than 1;
             length-=1;
+            pad.tone(1000.0,0.1);
+            wait(0.1);
         }
-        wait(0.1);
     }
     
     if (
@@ -274,18 +278,18 @@
         
         //printf("snake collision working \n");
         //audio feedback
-        if(blocknum > -1)  {
+        if(blocknum > 0)  {
             b_pos.y = 0;
-            pad.tone(1000.0,0.1);
         }
         srn = 1;
         blocknum = b_number[srn];
         send=1;
         blocknum-=1;
-        if(blocknum >= -1)  {  // to make sure that snake doesn't decrease in length if number on the block is less than 1;
+        if(blocknum >= 0)  {  // to make sure that snake doesn't decrease in length if number on the block is less than 1;
             length-=1;
+            pad.tone(1000.0,0.1);
+            wait(0.1);
         }
-        wait(0.1);
         
     }
     
@@ -313,18 +317,18 @@
         
         //printf("snake collision working \n");
         //audio feedback
-        if(blocknum > -1)  {
+        if(blocknum > 0)  {
             b_pos.y = 0;
-            pad.tone(1000.0,0.1);
         }
         srn = 2;
         blocknum = b_number[srn];
         send=1;
         blocknum-=1;
-        if(blocknum >= -1)  {  // to make sure that snake doesn't decrease in length if number on the block is less than 1;
+        if(blocknum >= 0)  {  // to make sure that snake doesn't decrease in length if number on the block is less than 1;
             length-=1;
+            pad.tone(1000.0,0.1);
+            wait(0.1);
         }
-        wait(0.1);
         
     }
     
@@ -352,18 +356,18 @@
         
         //printf("snake collision working \n");
         //audio feedback
-        if(blocknum > -1)  {
+        if(blocknum > 0)  {
             b_pos.y = 0;
-            pad.tone(1000.0,0.1);
         }
         srn = 3;
         blocknum = b_number[srn];
         send=1;
         blocknum-=1;
-        if(blocknum >= -1)  {  // to make sure that snake doesn't decrease in length if number on the block is less than 1;
+        if(blocknum >= 0)  {  // to make sure that snake doesn't decrease in length if number on the block is less than 1;
             length-=1;
+            pad.tone(1000.0,0.1);
+            wait(0.1);
         }
-        wait(0.1);
         
     }
     
@@ -392,18 +396,1795 @@
         
         //printf("snake collision working \n");
         //audio feedback
-        if(blocknum > -1)  {
+        if(blocknum > 0)  {
             b_pos.y = 0;
-            pad.tone(1000.0,0.1);
         }
         srn = 4;
         blocknum = b_number[srn];
         send=1;
         blocknum-=1;
-        if(blocknum >= -1)  {  // to make sure that snake doesn't decrease in length if number on the block is less than 1;
+        if(blocknum >= 0)  {  // to make sure that snake doesn't decrease in length if number on the block is less than 1;
             length-=1;
+            pad.tone(1000.0,0.1);
+            wait(0.1);
         }
-        wait(0.1);
     }
     
-    }
\ No newline at end of file
+}
+
+void SnakevsBlock::CheckSnakeBlockSidesCollision(Gamepad &pad, Direction d)
+    {
+        //Obtains all required coordinates.
+        Vector2D b_pos = _b.get_pos();
+        Vector2D snake_pos = _s.get_pos(length);
+        Vector2D snake_posb1 = _s.get_pos_before1(length);
+        Vector2D snake_posb2 = _s.get_pos_before2(length);
+        Vector2D snake_posb3 = _s.get_pos_before3(length);
+        Vector2D snake_posb4 = _s.get_pos_before4(length);
+        Vector2D snake_posb5 = _s.get_pos_before5(length);
+        Vector2D snake_posb6 = _s.get_pos_before6(length);
+        Vector2D snake_posb7 = _s.get_pos_before7(length);
+        Vector2D snake_posb8 = _s.get_pos_before8(length);
+        Vector2D snake_posb9 = _s.get_pos_before9(length);
+        Vector2D snake_posb10 = _s.get_pos_before10(length);
+        Vector2D snake_posb11 = _s.get_pos_before11(length);
+        Vector2D snake_posb12 = _s.get_pos_before12(length);
+        Vector2D snake_posb13 = _s.get_pos_before13(length);
+        Vector2D snake_posb14 = _s.get_pos_before14(length);
+        Vector2D snake_posb15 = _s.get_pos_before15(length);
+        
+        //If statements check if the snake sprite has collided with any
+        //of the blocks' sides and then stop the snake moving in x axis
+        
+    //For West
+    if (
+            /*((snake_pos.y == b_pos.y - 2) ||
+            (snake_posb1.y == b_pos.y - 2) ||
+            (snake_posb2.y == b_pos.y - 2) ||
+            (snake_posb3.y == b_pos.y - 2) ||
+            (snake_posb4.y == b_pos.y - 2) ||
+            (snake_posb5.y == b_pos.y - 2) ||
+            (snake_posb6.y == b_pos.y - 2) ||
+            (snake_posb7.y == b_pos.y - 2) ||
+            (snake_posb8.y == b_pos.y - 2) ||
+            (snake_posb9.y == b_pos.y - 2) ||
+            (snake_posb10.y == b_pos.y - 2) ||
+            (snake_posb11.y == b_pos.y - 2) ||
+            (snake_posb12.y == b_pos.y - 2) ||
+            (snake_posb13.y == b_pos.y - 2) ||
+            (snake_posb14.y == b_pos.y - 2) ||
+            (snake_posb15.y == b_pos.y - 2) ||
+            (snake_pos.y == b_pos.y - 1) ||
+            (snake_posb1.y == b_pos.y - 1) ||
+            (snake_posb2.y == b_pos.y - 1) ||
+            (snake_posb3.y == b_pos.y - 1) ||
+            (snake_posb4.y == b_pos.y - 1) ||
+            (snake_posb5.y == b_pos.y - 1) ||
+            (snake_posb6.y == b_pos.y - 1) ||
+            (snake_posb7.y == b_pos.y - 1) ||
+            (snake_posb8.y == b_pos.y - 1) ||
+            (snake_posb9.y == b_pos.y - 1) ||
+            (snake_posb10.y ==b_pos.y - 1) ||
+            (snake_posb11.y == b_pos.y - 1) ||
+            (snake_posb12.y == b_pos.y - 1) ||
+            (snake_posb13.y == b_pos.y - 1) ||
+            (snake_posb14.y == b_pos.y - 1) ||
+            (snake_posb15.y == b_pos.y - 1) ||  */
+            (((snake_pos.y == b_pos.y) ||
+            (snake_posb1.y == b_pos.y) ||
+            (snake_posb2.y == b_pos.y) ||
+            (snake_posb3.y == b_pos.y) ||
+            (snake_posb4.y == b_pos.y) ||
+            (snake_posb5.y == b_pos.y) ||
+            (snake_posb6.y == b_pos.y) ||
+            (snake_posb7.y == b_pos.y) ||
+            (snake_posb8.y == b_pos.y) ||
+            (snake_posb9.y == b_pos.y) ||
+            (snake_posb10.y ==b_pos.y) ||
+            (snake_posb11.y == b_pos.y) ||
+            (snake_posb12.y == b_pos.y) ||
+            (snake_posb13.y == b_pos.y) ||
+            (snake_posb14.y == b_pos.y) ||
+            (snake_posb15.y == b_pos.y) ||
+            (snake_pos.y == b_pos.y + 1) ||
+            (snake_posb1.y == b_pos.y + 1) ||
+            (snake_posb2.y == b_pos.y + 1) ||
+            (snake_posb3.y == b_pos.y + 1) ||
+            (snake_posb4.y == b_pos.y + 1) ||
+            (snake_posb5.y == b_pos.y + 1) ||
+            (snake_posb6.y == b_pos.y + 1) ||
+            (snake_posb7.y == b_pos.y + 1) ||
+            (snake_posb8.y == b_pos.y + 1) ||
+            (snake_posb9.y == b_pos.y + 1) ||
+            (snake_posb10.y ==b_pos.y + 1) ||
+            (snake_posb11.y == b_pos.y + 1) ||
+            (snake_posb12.y == b_pos.y + 1) ||
+            (snake_posb13.y == b_pos.y + 1) ||
+            (snake_posb14.y == b_pos.y + 1) ||
+            (snake_posb15.y == b_pos.y + 1) ||
+            (snake_pos.y == b_pos.y + 2) ||
+            (snake_posb1.y == b_pos.y + 2) ||
+            (snake_posb2.y == b_pos.y + 2) ||
+            (snake_posb3.y == b_pos.y + 2) ||
+            (snake_posb4.y == b_pos.y + 2) ||
+            (snake_posb5.y == b_pos.y + 2) ||
+            (snake_posb6.y == b_pos.y + 2) ||
+            (snake_posb7.y == b_pos.y + 2) ||
+            (snake_posb8.y == b_pos.y + 2) ||
+            (snake_posb9.y == b_pos.y + 2) ||
+            (snake_posb10.y ==b_pos.y + 2) ||
+            (snake_posb11.y == b_pos.y + 2) ||
+            (snake_posb12.y == b_pos.y + 2) ||
+            (snake_posb13.y == b_pos.y + 2) ||
+            (snake_posb14.y == b_pos.y + 2) ||
+            (snake_posb15.y == b_pos.y + 2) ||
+            (snake_pos.y == b_pos.y + 3) ||
+            (snake_posb1.y == b_pos.y + 3) ||
+            (snake_posb2.y == b_pos.y + 3) ||
+            (snake_posb3.y == b_pos.y + 3) ||
+            (snake_posb4.y == b_pos.y + 3) ||
+            (snake_posb5.y == b_pos.y + 3) ||
+            (snake_posb6.y == b_pos.y + 3) ||
+            (snake_posb7.y == b_pos.y + 3) ||
+            (snake_posb8.y == b_pos.y + 3) ||
+            (snake_posb9.y == b_pos.y + 3) ||
+            (snake_posb10.y ==b_pos.y + 3) ||
+            (snake_posb11.y == b_pos.y + 3) ||
+            (snake_posb12.y == b_pos.y + 3) ||
+            (snake_posb13.y == b_pos.y + 3) ||
+            (snake_posb14.y == b_pos.y + 3) ||
+            (snake_posb15.y == b_pos.y + 3) ||
+            (snake_pos.y == b_pos.y + 4) ||
+            (snake_posb1.y == b_pos.y + 4) ||
+            (snake_posb2.y == b_pos.y + 4) ||
+            (snake_posb3.y == b_pos.y + 4) ||
+            (snake_posb4.y == b_pos.y + 4) ||
+            (snake_posb5.y == b_pos.y + 4) ||
+            (snake_posb6.y == b_pos.y + 4) ||
+            (snake_posb7.y == b_pos.y + 4) ||
+            (snake_posb8.y == b_pos.y + 4) ||
+            (snake_posb9.y == b_pos.y + 4) ||
+            (snake_posb10.y ==b_pos.y + 4) ||
+            (snake_posb11.y == b_pos.y + 4) ||
+            (snake_posb12.y == b_pos.y + 4) ||
+            (snake_posb13.y == b_pos.y + 4) ||
+            (snake_posb14.y == b_pos.y + 4) ||
+            (snake_posb15.y == b_pos.y + 4) ||
+            (snake_pos.y == b_pos.y + 5) ||
+            (snake_posb1.y == b_pos.y + 5) ||
+            (snake_posb2.y == b_pos.y + 5) ||
+            (snake_posb3.y == b_pos.y + 5) ||
+            (snake_posb4.y == b_pos.y + 5) ||
+            (snake_posb5.y == b_pos.y + 5) ||
+            (snake_posb6.y == b_pos.y + 5) ||
+            (snake_posb7.y == b_pos.y + 5) ||
+            (snake_posb8.y == b_pos.y + 5) ||
+            (snake_posb9.y == b_pos.y + 5) ||
+            (snake_posb10.y ==b_pos.y + 5) ||
+            (snake_posb11.y == b_pos.y + 5) ||
+            (snake_posb12.y == b_pos.y + 5) ||
+            (snake_posb13.y == b_pos.y + 5) ||
+            (snake_posb14.y == b_pos.y + 5) ||
+            (snake_posb15.y == b_pos.y + 5) ||
+            (snake_pos.y == b_pos.y + 6) ||
+            (snake_posb1.y == b_pos.y + 6) ||
+            (snake_posb2.y == b_pos.y + 6) ||
+            (snake_posb3.y == b_pos.y + 6) ||
+            (snake_posb4.y == b_pos.y + 6) ||
+            (snake_posb5.y == b_pos.y + 6) ||
+            (snake_posb6.y == b_pos.y + 6) ||
+            (snake_posb7.y == b_pos.y + 6) ||
+            (snake_posb8.y == b_pos.y + 6) ||
+            (snake_posb9.y == b_pos.y + 6) ||
+            (snake_posb10.y ==b_pos.y + 6) ||
+            (snake_posb11.y == b_pos.y + 6) ||
+            (snake_posb12.y == b_pos.y + 6) ||
+            (snake_posb13.y == b_pos.y + 6) ||
+            (snake_posb14.y == b_pos.y + 6) ||
+            (snake_posb15.y == b_pos.y + 6) ||
+            (snake_pos.y == b_pos.y + 7) ||
+            (snake_posb1.y == b_pos.y + 7) ||
+            (snake_posb2.y == b_pos.y + 7) ||
+            (snake_posb3.y == b_pos.y + 7) ||
+            (snake_posb4.y == b_pos.y + 7) ||
+            (snake_posb5.y == b_pos.y + 7) ||
+            (snake_posb6.y == b_pos.y + 7) ||
+            (snake_posb7.y == b_pos.y + 7) ||
+            (snake_posb8.y == b_pos.y + 7) ||
+            (snake_posb9.y == b_pos.y + 7) ||
+            (snake_posb10.y ==b_pos.y + 7) ||
+            (snake_posb11.y == b_pos.y + 7) ||
+            (snake_posb12.y == b_pos.y + 7) ||
+            (snake_posb13.y == b_pos.y + 7) ||
+            (snake_posb14.y == b_pos.y + 7) ||
+            (snake_posb15.y == b_pos.y + 7) ||
+            (snake_pos.y == b_pos.y + 8) ||
+            (snake_posb1.y == b_pos.y + 8) ||
+            (snake_posb2.y == b_pos.y + 8) ||
+            (snake_posb3.y == b_pos.y + 8) ||
+            (snake_posb4.y == b_pos.y + 8) ||
+            (snake_posb5.y == b_pos.y + 8) ||
+            (snake_posb6.y == b_pos.y + 8) ||
+            (snake_posb7.y == b_pos.y + 8) ||
+            (snake_posb8.y == b_pos.y + 8) ||
+            (snake_posb9.y == b_pos.y + 8) ||
+            (snake_posb10.y ==b_pos.y + 8) ||
+            (snake_posb11.y == b_pos.y + 8) ||
+            (snake_posb12.y == b_pos.y + 8) ||
+            (snake_posb13.y == b_pos.y + 8) ||
+            (snake_posb14.y == b_pos.y + 8) ||
+            (snake_posb15.y == b_pos.y + 8) ||
+            (snake_pos.y == b_pos.y + 9) ||
+            (snake_posb1.y == b_pos.y + 9) ||
+            (snake_posb2.y == b_pos.y + 9) ||
+            (snake_posb3.y == b_pos.y + 9) ||
+            (snake_posb4.y == b_pos.y + 9) ||
+            (snake_posb5.y == b_pos.y + 9) ||
+            (snake_posb6.y == b_pos.y + 9) ||
+            (snake_posb7.y == b_pos.y + 9) ||
+            (snake_posb8.y == b_pos.y + 9) ||
+            (snake_posb9.y == b_pos.y + 9) ||
+            (snake_posb10.y ==b_pos.y + 9) ||
+            (snake_posb11.y == b_pos.y + 9) ||
+            (snake_posb12.y == b_pos.y + 9) ||
+            (snake_posb13.y == b_pos.y + 9) ||
+            (snake_posb14.y == b_pos.y + 9) ||
+            (snake_posb15.y == b_pos.y + 9) ||
+            (snake_pos.y == b_pos.y + 10) ||
+            (snake_posb1.y == b_pos.y + 10) ||
+            (snake_posb2.y == b_pos.y + 10) ||
+            (snake_posb3.y == b_pos.y + 10) ||
+            (snake_posb4.y == b_pos.y + 10) ||
+            (snake_posb5.y == b_pos.y + 10) ||
+            (snake_posb6.y == b_pos.y + 10) ||
+            (snake_posb7.y == b_pos.y + 10) ||
+            (snake_posb8.y == b_pos.y + 10) ||
+            (snake_posb9.y == b_pos.y + 10) ||
+            (snake_posb10.y == b_pos.y + 10) ||
+            (snake_posb11.y == b_pos.y + 10) ||
+            (snake_posb12.y == b_pos.y + 10) ||
+            (snake_posb13.y == b_pos.y + 10) ||
+            (snake_posb14.y == b_pos.y + 10) ||
+            (snake_posb15.y == b_pos.y + 10) ||
+            /*(snake_pos.y == b_pos.y + 11) ||
+            (snake_posb1.y == b_pos.y + 11) ||
+            (snake_posb2.y == b_pos.y + 11) ||
+            (snake_posb3.y == b_pos.y + 11) ||
+            (snake_posb4.y == b_pos.y + 11) ||
+            (snake_posb5.y == b_pos.y + 11) ||
+            (snake_posb6.y == b_pos.y + 11) ||
+            (snake_posb7.y == b_pos.y + 11) ||
+            (snake_posb8.y == b_pos.y + 11) ||
+            (snake_posb9.y == b_pos.y + 11) ||
+            (snake_posb10.y ==b_pos.y + 11) ||
+            (snake_posb11.y == b_pos.y + 11) ||
+            (snake_posb12.y == b_pos.y + 11) ||
+            (snake_posb13.y == b_pos.y + 11) ||
+            (snake_posb14.y == b_pos.y + 11) ||
+            (snake_posb15.y == b_pos.y + 11) ||
+            (snake_pos.y == b_pos.y + 12) ||
+            (snake_posb1.y == b_pos.y + 12) ||
+            (snake_posb2.y == b_pos.y + 12) ||
+            (snake_posb3.y == b_pos.y + 12) ||
+            (snake_posb4.y == b_pos.y + 12) ||
+            (snake_posb5.y == b_pos.y + 12) ||
+            (snake_posb6.y == b_pos.y + 12) ||
+            (snake_posb7.y == b_pos.y + 12) ||
+            (snake_posb8.y == b_pos.y + 12) ||
+            (snake_posb9.y == b_pos.y + 12) ||
+            (snake_posb10.y ==b_pos.y + 12) ||
+            (snake_posb11.y == b_pos.y + 12) ||
+            (snake_posb12.y == b_pos.y + 12) ||
+            (snake_posb13.y == b_pos.y + 12) ||
+            (snake_posb14.y == b_pos.y + 12) ||
+            (snake_posb15.y == b_pos.y + 12) ||*/
+            /*(snake_pos.y + 1 == b_pos.y - 2) ||
+            (snake_posb1.y + 1 == b_pos.y - 2) ||
+            (snake_posb2.y + 1 == b_pos.y - 2) ||
+            (snake_posb3.y + 1 == b_pos.y - 2) ||
+            (snake_posb4.y + 1 == b_pos.y - 2) ||
+            (snake_posb5.y + 1 == b_pos.y - 2) ||
+            (snake_posb6.y + 1 == b_pos.y - 2) ||
+            (snake_posb7.y + 1 == b_pos.y - 2) ||
+            (snake_posb8.y + 1 == b_pos.y - 2) ||
+            (snake_posb9.y + 1 == b_pos.y - 2) ||
+            (snake_posb10.y + 1 == b_pos.y - 2) ||
+            (snake_posb11.y + 1 == b_pos.y - 2) ||
+            (snake_posb12.y + 1 == b_pos.y - 2) ||
+            (snake_posb13.y + 1 == b_pos.y - 2) ||
+            (snake_posb14.y + 1 == b_pos.y - 2) ||
+            (snake_posb15.y + 1 == b_pos.y - 2) ||
+            (snake_pos.y + 1 == b_pos.y - 1) ||
+            (snake_posb1.y + 1 == b_pos.y - 1) ||
+            (snake_posb2.y + 1 == b_pos.y - 1) ||
+            (snake_posb3.y + 1 == b_pos.y - 1) ||
+            (snake_posb4.y + 1 == b_pos.y - 1) ||
+            (snake_posb5.y + 1 == b_pos.y - 1) ||
+            (snake_posb6.y + 1 == b_pos.y - 1) ||
+            (snake_posb7.y + 1 == b_pos.y - 1) ||
+            (snake_posb8.y + 1 == b_pos.y - 1) ||
+            (snake_posb9.y + 1 == b_pos.y - 1) ||
+            (snake_posb10.y + 1 ==b_pos.y - 1) ||
+            (snake_posb11.y + 1 == b_pos.y - 1) ||
+            (snake_posb12.y + 1 == b_pos.y - 1) ||
+            (snake_posb13.y + 1 == b_pos.y - 1) ||
+            (snake_posb14.y + 1 == b_pos.y - 1) ||
+            (snake_posb15.y + 1 == b_pos.y - 1) ||*/
+            (snake_pos.y + 1 == b_pos.y) ||
+            (snake_posb1.y + 1 == b_pos.y) ||
+            (snake_posb2.y + 1 == b_pos.y) ||
+            (snake_posb3.y + 1 == b_pos.y) ||
+            (snake_posb4.y + 1 == b_pos.y) ||
+            (snake_posb5.y + 1 == b_pos.y) ||
+            (snake_posb6.y + 1 == b_pos.y) ||
+            (snake_posb7.y + 1 == b_pos.y) ||
+            (snake_posb8.y + 1 == b_pos.y) ||
+            (snake_posb9.y + 1 == b_pos.y) ||
+            (snake_posb10.y + 1 ==b_pos.y) ||
+            (snake_posb11.y + 1 == b_pos.y) ||
+            (snake_posb12.y + 1 == b_pos.y) ||
+            (snake_posb13.y + 1 == b_pos.y) ||
+            (snake_posb14.y + 1 == b_pos.y) ||
+            (snake_posb15.y + 1 == b_pos.y) ||
+            (snake_pos.y + 1 == b_pos.y + 1) ||
+            (snake_posb1.y + 1 == b_pos.y + 1) ||
+            (snake_posb2.y + 1 == b_pos.y + 1) ||
+            (snake_posb3.y + 1 == b_pos.y + 1) ||
+            (snake_posb4.y + 1 == b_pos.y + 1) ||
+            (snake_posb5.y + 1 == b_pos.y + 1) ||
+            (snake_posb6.y + 1 == b_pos.y + 1) ||
+            (snake_posb7.y + 1 == b_pos.y + 1) ||
+            (snake_posb8.y + 1 == b_pos.y + 1) ||
+            (snake_posb9.y + 1 == b_pos.y + 1) ||
+            (snake_posb10.y + 1 ==b_pos.y + 1) ||
+            (snake_posb11.y + 1 == b_pos.y + 1) ||
+            (snake_posb12.y + 1 == b_pos.y + 1) ||
+            (snake_posb13.y + 1 == b_pos.y + 1) ||
+            (snake_posb14.y + 1 == b_pos.y + 1) ||
+            (snake_posb15.y + 1 == b_pos.y + 1) ||
+            (snake_pos.y + 1 == b_pos.y + 2) ||
+            (snake_posb1.y + 1 == b_pos.y + 2) ||
+            (snake_posb2.y + 1 == b_pos.y + 2) ||
+            (snake_posb3.y + 1 == b_pos.y + 2) ||
+            (snake_posb4.y + 1 == b_pos.y + 2) ||
+            (snake_posb5.y + 1 == b_pos.y + 2) ||
+            (snake_posb6.y + 1 == b_pos.y + 2) ||
+            (snake_posb7.y + 1 == b_pos.y + 2) ||
+            (snake_posb8.y + 1 == b_pos.y + 2) ||
+            (snake_posb9.y + 1 == b_pos.y + 2) ||
+            (snake_posb10.y + 1 ==b_pos.y + 2) ||
+            (snake_posb11.y + 1 == b_pos.y + 2) ||
+            (snake_posb12.y + 1 == b_pos.y + 2) ||
+            (snake_posb13.y + 1 == b_pos.y + 2) ||
+            (snake_posb14.y + 1 == b_pos.y + 2) ||
+            (snake_posb15.y + 1 == b_pos.y + 2) ||
+            (snake_pos.y + 1 == b_pos.y + 3) ||
+            (snake_posb1.y + 1 == b_pos.y + 3) ||
+            (snake_posb2.y + 1 == b_pos.y + 3) ||
+            (snake_posb3.y + 1 == b_pos.y + 3) ||
+            (snake_posb4.y + 1 == b_pos.y + 3) ||
+            (snake_posb5.y + 1 == b_pos.y + 3) ||
+            (snake_posb6.y + 1 == b_pos.y + 3) ||
+            (snake_posb7.y + 1 == b_pos.y + 3) ||
+            (snake_posb8.y + 1 == b_pos.y + 3) ||
+            (snake_posb9.y + 1 == b_pos.y + 3) ||
+            (snake_posb10.y + 1 ==b_pos.y + 3) ||
+            (snake_posb11.y + 1 == b_pos.y + 3) ||
+            (snake_posb12.y + 1 == b_pos.y + 3) ||
+            (snake_posb13.y + 1 == b_pos.y + 3) ||
+            (snake_posb14.y + 1 == b_pos.y + 3) ||
+            (snake_posb15.y + 1 == b_pos.y + 3) ||
+            (snake_pos.y + 1 == b_pos.y + 4) ||
+            (snake_posb1.y + 1 == b_pos.y + 4) ||
+            (snake_posb2.y + 1 == b_pos.y + 4) ||
+            (snake_posb3.y + 1 == b_pos.y + 4) ||
+            (snake_posb4.y + 1 == b_pos.y + 4) ||
+            (snake_posb5.y + 1 == b_pos.y + 4) ||
+            (snake_posb6.y + 1 == b_pos.y + 4) ||
+            (snake_posb7.y + 1 == b_pos.y + 4) ||
+            (snake_posb8.y + 1 == b_pos.y + 4) ||
+            (snake_posb9.y + 1 == b_pos.y + 4) ||
+            (snake_posb10.y + 1 ==b_pos.y + 4) ||
+            (snake_posb11.y + 1 == b_pos.y + 4) ||
+            (snake_posb12.y + 1 == b_pos.y + 4) ||
+            (snake_posb13.y + 1 == b_pos.y + 4) ||
+            (snake_posb14.y + 1 == b_pos.y + 4) ||
+            (snake_posb15.y + 1 == b_pos.y + 4) ||
+            (snake_pos.y + 1 == b_pos.y + 5) ||
+            (snake_posb1.y + 1 == b_pos.y + 5) ||
+            (snake_posb2.y + 1 == b_pos.y + 5) ||
+            (snake_posb3.y + 1 == b_pos.y + 5) ||
+            (snake_posb4.y + 1 == b_pos.y + 5) ||
+            (snake_posb5.y + 1 == b_pos.y + 5) ||
+            (snake_posb6.y + 1 == b_pos.y + 5) ||
+            (snake_posb7.y + 1 == b_pos.y + 5) ||
+            (snake_posb8.y + 1 == b_pos.y + 5) ||
+            (snake_posb9.y + 1 == b_pos.y + 5) ||
+            (snake_posb10.y + 1 ==b_pos.y + 5) ||
+            (snake_posb11.y + 1 == b_pos.y + 5) ||
+            (snake_posb12.y + 1 == b_pos.y + 5) ||
+            (snake_posb13.y + 1 == b_pos.y + 5) ||
+            (snake_posb14.y + 1 == b_pos.y + 5) ||
+            (snake_posb15.y + 1 == b_pos.y + 5) ||
+            (snake_pos.y + 1 == b_pos.y + 6) ||
+            (snake_posb1.y + 1 == b_pos.y + 6) ||
+            (snake_posb2.y + 1 == b_pos.y + 6) ||
+            (snake_posb3.y + 1 == b_pos.y + 6) ||
+            (snake_posb4.y + 1 == b_pos.y + 6) ||
+            (snake_posb5.y + 1 == b_pos.y + 6) ||
+            (snake_posb6.y + 1 == b_pos.y + 6) ||
+            (snake_posb7.y + 1 == b_pos.y + 6) ||
+            (snake_posb8.y + 1 == b_pos.y + 6) ||
+            (snake_posb9.y + 1 == b_pos.y + 6) ||
+            (snake_posb10.y + 1 ==b_pos.y + 6) ||
+            (snake_posb11.y + 1 == b_pos.y + 6) ||
+            (snake_posb12.y + 1 == b_pos.y + 6) ||
+            (snake_posb13.y + 1 == b_pos.y + 6) ||
+            (snake_posb14.y + 1 == b_pos.y + 6) ||
+            (snake_posb15.y + 1 == b_pos.y + 6) ||
+            (snake_pos.y + 1 == b_pos.y + 7) ||
+            (snake_posb1.y + 1 == b_pos.y + 7) ||
+            (snake_posb2.y + 1 == b_pos.y + 7) ||
+            (snake_posb3.y + 1 == b_pos.y + 7) ||
+            (snake_posb4.y + 1 == b_pos.y + 7) ||
+            (snake_posb5.y + 1 == b_pos.y + 7) ||
+            (snake_posb6.y + 1 == b_pos.y + 7) ||
+            (snake_posb7.y + 1 == b_pos.y + 7) ||
+            (snake_posb8.y + 1 == b_pos.y + 7) ||
+            (snake_posb9.y + 1 == b_pos.y + 7) ||
+            (snake_posb10.y + 1 ==b_pos.y + 7) ||
+            (snake_posb11.y + 1 == b_pos.y + 7) ||
+            (snake_posb12.y + 1 == b_pos.y + 7) ||
+            (snake_posb13.y + 1 == b_pos.y + 7) ||
+            (snake_posb14.y + 1 == b_pos.y + 7) ||
+            (snake_posb15.y + 1 == b_pos.y + 7) ||
+            (snake_pos.y + 1 == b_pos.y + 8) ||
+            (snake_posb1.y + 1 == b_pos.y + 8) ||
+            (snake_posb2.y + 1 == b_pos.y + 8) ||
+            (snake_posb3.y + 1 == b_pos.y + 8) ||
+            (snake_posb4.y + 1 == b_pos.y + 8) ||
+            (snake_posb5.y + 1 == b_pos.y + 8) ||
+            (snake_posb6.y + 1 == b_pos.y + 8) ||
+            (snake_posb7.y + 1 == b_pos.y + 8) ||
+            (snake_posb8.y + 1 == b_pos.y + 8) ||
+            (snake_posb9.y + 1 == b_pos.y + 8) ||
+            (snake_posb10.y + 1 ==b_pos.y + 8) ||
+            (snake_posb11.y + 1 == b_pos.y + 8) ||
+            (snake_posb12.y + 1 == b_pos.y + 8) ||
+            (snake_posb13.y + 1 == b_pos.y + 8) ||
+            (snake_posb14.y + 1 == b_pos.y + 8) ||
+            (snake_posb15.y + 1 == b_pos.y + 8) ||
+            (snake_pos.y + 1 == b_pos.y + 9) ||
+            (snake_posb1.y + 1 == b_pos.y + 9) ||
+            (snake_posb2.y + 1 == b_pos.y + 9) ||
+            (snake_posb3.y + 1 == b_pos.y + 9) ||
+            (snake_posb4.y + 1 == b_pos.y + 9) ||
+            (snake_posb5.y + 1 == b_pos.y + 9) ||
+            (snake_posb6.y + 1 == b_pos.y + 9) ||
+            (snake_posb7.y + 1 == b_pos.y + 9) ||
+            (snake_posb8.y + 1 == b_pos.y + 9) ||
+            (snake_posb9.y + 1 == b_pos.y + 9) ||
+            (snake_posb10.y + 1 ==b_pos.y + 9) ||
+            (snake_posb11.y + 1 == b_pos.y + 9) ||
+            (snake_posb12.y + 1 == b_pos.y + 9) ||
+            (snake_posb13.y + 1 == b_pos.y + 9) ||
+            (snake_posb14.y + 1 == b_pos.y + 9) ||
+            (snake_posb15.y + 1 == b_pos.y + 9) ||
+            (snake_pos.y + 1 == b_pos.y + 10) ||
+            (snake_posb1.y + 1 == b_pos.y + 10) ||
+            (snake_posb2.y + 1 == b_pos.y + 10) ||
+            (snake_posb3.y + 1 == b_pos.y + 10) ||
+            (snake_posb4.y + 1 == b_pos.y + 10) ||
+            (snake_posb5.y + 1 == b_pos.y + 10) ||
+            (snake_posb6.y + 1 == b_pos.y + 10) ||
+            (snake_posb7.y + 1 == b_pos.y + 10) ||
+            (snake_posb8.y + 1 == b_pos.y + 10) ||
+            (snake_posb9.y + 1 == b_pos.y + 10) ||
+            (snake_posb10.y + 1 ==b_pos.y + 10) ||
+            (snake_posb11.y + 1 == b_pos.y + 10) ||
+            (snake_posb12.y + 1 == b_pos.y + 10) ||
+            (snake_posb13.y + 1 == b_pos.y + 10) ||
+            (snake_posb14.y + 1 == b_pos.y + 10) ||
+            (snake_posb15.y + 1 == b_pos.y + 10) ||
+            /*(snake_pos.y + 1 == b_pos.y + 11) ||
+            (snake_posb1.y + 1 == b_pos.y + 11) ||
+            (snake_posb2.y + 1 == b_pos.y + 11) ||
+            (snake_posb3.y + 1 == b_pos.y + 11) ||
+            (snake_posb4.y + 1 == b_pos.y + 11) ||
+            (snake_posb5.y + 1 == b_pos.y + 11) ||
+            (snake_posb6.y + 1 == b_pos.y + 11) ||
+            (snake_posb7.y + 1 == b_pos.y + 11) ||
+            (snake_posb8.y + 1 == b_pos.y + 11) ||
+            (snake_posb9.y + 1 == b_pos.y + 11) ||
+            (snake_posb10.y + 1 ==b_pos.y + 11) ||
+            (snake_posb11.y + 1 == b_pos.y + 11) ||
+            (snake_posb12.y + 1 == b_pos.y + 11) ||
+            (snake_posb13.y + 1 == b_pos.y + 11) ||
+            (snake_posb14.y + 1 == b_pos.y + 11) ||
+            (snake_posb15.y + 1 == b_pos.y + 11) ||
+            (snake_pos.y + 1 == b_pos.y + 12) ||
+            (snake_posb1.y + 1 == b_pos.y + 12) ||
+            (snake_posb2.y + 1 == b_pos.y + 12) ||
+            (snake_posb3.y + 1 == b_pos.y + 12) ||
+            (snake_posb4.y + 1 == b_pos.y + 12) ||
+            (snake_posb5.y + 1 == b_pos.y + 12) ||
+            (snake_posb6.y + 1 == b_pos.y + 12) ||
+            (snake_posb7.y + 1 == b_pos.y + 12) ||
+            (snake_posb8.y + 1 == b_pos.y + 12) ||
+            (snake_posb9.y + 1 == b_pos.y + 12) ||
+            (snake_posb10.y + 1 ==b_pos.y + 12) ||
+            (snake_posb11.y + 1 == b_pos.y + 12) ||
+            (snake_posb12.y + 1 == b_pos.y + 12) ||
+            (snake_posb13.y + 1 == b_pos.y + 12) ||
+            (snake_posb14.y + 1 == b_pos.y + 12) ||
+            (snake_posb15.y + 1 == b_pos.y + 12) ||*/
+            /*(snake_pos.y + 2 == b_pos.y - 2) ||
+            (snake_posb1.y + 2 == b_pos.y - 2) ||
+            (snake_posb2.y + 2 == b_pos.y - 2) ||
+            (snake_posb3.y + 2 == b_pos.y - 2) ||
+            (snake_posb4.y + 2 == b_pos.y - 2) ||
+            (snake_posb5.y + 2 == b_pos.y - 2) ||
+            (snake_posb6.y + 2 == b_pos.y - 2) ||
+            (snake_posb7.y + 2 == b_pos.y - 2) ||
+            (snake_posb8.y + 2 == b_pos.y - 2) ||
+            (snake_posb9.y + 2 == b_pos.y - 2) ||
+            (snake_posb10.y + 2 == b_pos.y - 2) ||
+            (snake_posb11.y + 2 == b_pos.y - 2) ||
+            (snake_posb12.y + 2 == b_pos.y - 2) ||
+            (snake_posb13.y + 2 == b_pos.y - 2) ||
+            (snake_posb14.y + 2 == b_pos.y - 2) ||
+            (snake_posb15.y + 2 == b_pos.y - 2) ||
+            (snake_pos.y + 2 == b_pos.y - 1) ||
+            (snake_posb1.y + 2 == b_pos.y - 1) ||
+            (snake_posb2.y + 2 == b_pos.y - 1) ||
+            (snake_posb3.y + 2 == b_pos.y - 1) ||
+            (snake_posb4.y + 2 == b_pos.y - 1) ||
+            (snake_posb5.y + 2 == b_pos.y - 1) ||
+            (snake_posb6.y + 2 == b_pos.y - 1) ||
+            (snake_posb7.y + 2 == b_pos.y - 1) ||
+            (snake_posb8.y + 2 == b_pos.y - 1) ||
+            (snake_posb9.y + 2 == b_pos.y - 1) ||
+            (snake_posb10.y + 2 ==b_pos.y - 1) ||
+            (snake_posb11.y + 2 == b_pos.y - 1) ||
+            (snake_posb12.y + 2 == b_pos.y - 1) ||
+            (snake_posb13.y + 2 == b_pos.y - 1) ||
+            (snake_posb14.y + 2 == b_pos.y - 1) ||
+            (snake_posb15.y + 2 == b_pos.y - 1) ||*/
+            (snake_pos.y + 2 == b_pos.y) ||
+            (snake_posb1.y + 2 == b_pos.y) ||
+            (snake_posb2.y + 2 == b_pos.y) ||
+            (snake_posb3.y + 2 == b_pos.y) ||
+            (snake_posb4.y + 2 == b_pos.y) ||
+            (snake_posb5.y + 2 == b_pos.y) ||
+            (snake_posb6.y + 2 == b_pos.y) ||
+            (snake_posb7.y + 2 == b_pos.y) ||
+            (snake_posb8.y + 2 == b_pos.y) ||
+            (snake_posb9.y + 2 == b_pos.y) ||
+            (snake_posb10.y + 2 ==b_pos.y) ||
+            (snake_posb11.y + 2 == b_pos.y) ||
+            (snake_posb12.y + 2 == b_pos.y) ||
+            (snake_posb13.y + 2 == b_pos.y) ||
+            (snake_posb14.y + 2 == b_pos.y) ||
+            (snake_posb15.y + 2 == b_pos.y) ||
+            (snake_pos.y + 2 == b_pos.y + 1) ||
+            (snake_posb1.y + 2 == b_pos.y + 1) ||
+            (snake_posb2.y + 2 == b_pos.y + 1) ||
+            (snake_posb3.y + 2 == b_pos.y + 1) ||
+            (snake_posb4.y + 2 == b_pos.y + 1) ||
+            (snake_posb5.y + 2 == b_pos.y + 1) ||
+            (snake_posb6.y + 2 == b_pos.y + 1) ||
+            (snake_posb7.y + 2 == b_pos.y + 1) ||
+            (snake_posb8.y + 2 == b_pos.y + 1) ||
+            (snake_posb9.y + 2 == b_pos.y + 1) ||
+            (snake_posb10.y + 2 ==b_pos.y + 1) ||
+            (snake_posb11.y + 2 == b_pos.y + 1) ||
+            (snake_posb12.y + 2 == b_pos.y + 1) ||
+            (snake_posb13.y + 2 == b_pos.y + 1) ||
+            (snake_posb14.y + 2 == b_pos.y + 1) ||
+            (snake_posb15.y + 2 == b_pos.y + 1) ||
+            (snake_pos.y + 2 == b_pos.y + 2) ||
+            (snake_posb1.y + 2 == b_pos.y + 2) ||
+            (snake_posb2.y + 2 == b_pos.y + 2) ||
+            (snake_posb3.y + 2 == b_pos.y + 2) ||
+            (snake_posb4.y + 2 == b_pos.y + 2) ||
+            (snake_posb5.y + 2 == b_pos.y + 2) ||
+            (snake_posb6.y + 2 == b_pos.y + 2) ||
+            (snake_posb7.y + 2 == b_pos.y + 2) ||
+            (snake_posb8.y + 2 == b_pos.y + 2) ||
+            (snake_posb9.y + 2 == b_pos.y + 2) ||
+            (snake_posb10.y + 2 ==b_pos.y + 2) ||
+            (snake_posb11.y + 2 == b_pos.y + 2) ||
+            (snake_posb12.y + 2 == b_pos.y + 2) ||
+            (snake_posb13.y + 2 == b_pos.y + 2) ||
+            (snake_posb14.y + 2 == b_pos.y + 2) ||
+            (snake_posb15.y + 2 == b_pos.y + 2) ||
+            (snake_pos.y + 2 == b_pos.y + 3) ||
+            (snake_posb1.y + 2 == b_pos.y + 3) ||
+            (snake_posb2.y + 2 == b_pos.y + 3) ||
+            (snake_posb3.y + 2 == b_pos.y + 3) ||
+            (snake_posb4.y + 2 == b_pos.y + 3) ||
+            (snake_posb5.y + 2 == b_pos.y + 3) ||
+            (snake_posb6.y + 2 == b_pos.y + 3) ||
+            (snake_posb7.y + 2 == b_pos.y + 3) ||
+            (snake_posb8.y + 2 == b_pos.y + 3) ||
+            (snake_posb9.y + 2 == b_pos.y + 3) ||
+            (snake_posb10.y + 2 ==b_pos.y + 3) ||
+            (snake_posb11.y + 2 == b_pos.y + 3) ||
+            (snake_posb12.y + 2 == b_pos.y + 3) ||
+            (snake_posb13.y + 2 == b_pos.y + 3) ||
+            (snake_posb14.y + 2 == b_pos.y + 3) ||
+            (snake_posb15.y + 2 == b_pos.y + 3) ||
+            (snake_pos.y + 2 == b_pos.y + 4) ||
+            (snake_posb1.y + 2 == b_pos.y + 4) ||
+            (snake_posb2.y + 2 == b_pos.y + 4) ||
+            (snake_posb3.y + 2 == b_pos.y + 4) ||
+            (snake_posb4.y + 2 == b_pos.y + 4) ||
+            (snake_posb5.y + 2 == b_pos.y + 4) ||
+            (snake_posb6.y + 2 == b_pos.y + 4) ||
+            (snake_posb7.y + 2 == b_pos.y + 4) ||
+            (snake_posb8.y + 2 == b_pos.y + 4) ||
+            (snake_posb9.y + 2 == b_pos.y + 4) ||
+            (snake_posb10.y + 2 ==b_pos.y + 4) ||
+            (snake_posb11.y + 2 == b_pos.y + 4) ||
+            (snake_posb12.y + 2 == b_pos.y + 4) ||
+            (snake_posb13.y + 2 == b_pos.y + 4) ||
+            (snake_posb14.y + 2 == b_pos.y + 4) ||
+            (snake_posb15.y + 2 == b_pos.y + 4) ||
+            (snake_pos.y + 2 == b_pos.y + 5) ||
+            (snake_posb1.y + 2 == b_pos.y + 5) ||
+            (snake_posb2.y + 2 == b_pos.y + 5) ||
+            (snake_posb3.y + 2 == b_pos.y + 5) ||
+            (snake_posb4.y + 2 == b_pos.y + 5) ||
+            (snake_posb5.y + 2 == b_pos.y + 5) ||
+            (snake_posb6.y + 2 == b_pos.y + 5) ||
+            (snake_posb7.y + 2 == b_pos.y + 5) ||
+            (snake_posb8.y + 2 == b_pos.y + 5) ||
+            (snake_posb9.y + 2 == b_pos.y + 5) ||
+            (snake_posb10.y + 2 ==b_pos.y + 5) ||
+            (snake_posb11.y + 2 == b_pos.y + 5) ||
+            (snake_posb12.y + 2 == b_pos.y + 5) ||
+            (snake_posb13.y + 2 == b_pos.y + 5) ||
+            (snake_posb14.y + 2 == b_pos.y + 5) ||
+            (snake_posb15.y + 2 == b_pos.y + 5) ||
+            (snake_pos.y + 2 == b_pos.y + 6) ||
+            (snake_posb1.y + 2 == b_pos.y + 6) ||
+            (snake_posb2.y + 2 == b_pos.y + 6) ||
+            (snake_posb3.y + 2 == b_pos.y + 6) ||
+            (snake_posb4.y + 2 == b_pos.y + 6) ||
+            (snake_posb5.y + 2 == b_pos.y + 6) ||
+            (snake_posb6.y + 2 == b_pos.y + 6) ||
+            (snake_posb7.y + 2 == b_pos.y + 6) ||
+            (snake_posb8.y + 2 == b_pos.y + 6) ||
+            (snake_posb9.y + 2 == b_pos.y + 6) ||
+            (snake_posb10.y + 2 ==b_pos.y + 6) ||
+            (snake_posb11.y + 2 == b_pos.y + 6) ||
+            (snake_posb12.y + 2 == b_pos.y + 6) ||
+            (snake_posb13.y + 2 == b_pos.y + 6) ||
+            (snake_posb14.y + 2 == b_pos.y + 6) ||
+            (snake_posb15.y + 2 == b_pos.y + 6) ||
+            (snake_pos.y + 2 == b_pos.y + 7) ||
+            (snake_posb1.y + 2 == b_pos.y + 7) ||
+            (snake_posb2.y + 2 == b_pos.y + 7) ||
+            (snake_posb3.y + 2 == b_pos.y + 7) ||
+            (snake_posb4.y + 2 == b_pos.y + 7) ||
+            (snake_posb5.y + 2 == b_pos.y + 7) ||
+            (snake_posb6.y + 2 == b_pos.y + 7) ||
+            (snake_posb7.y + 2 == b_pos.y + 7) ||
+            (snake_posb8.y + 2 == b_pos.y + 7) ||
+            (snake_posb9.y + 2 == b_pos.y + 7) ||
+            (snake_posb10.y + 2 == b_pos.y + 7) ||
+            (snake_posb11.y + 2 == b_pos.y + 7) ||
+            (snake_posb12.y + 2 == b_pos.y + 7) ||
+            (snake_posb13.y + 2 == b_pos.y + 7) ||
+            (snake_posb14.y + 2 == b_pos.y + 7) ||
+            (snake_posb15.y + 2 == b_pos.y + 7) ||
+            (snake_pos.y + 2 == b_pos.y + 8) ||
+            (snake_posb1.y + 2 == b_pos.y + 8) ||
+            (snake_posb2.y + 2 == b_pos.y + 8) ||
+            (snake_posb3.y + 2 == b_pos.y + 8) ||
+            (snake_posb4.y + 2 == b_pos.y + 8) ||
+            (snake_posb5.y + 2 == b_pos.y + 8) ||
+            (snake_posb6.y + 2 == b_pos.y + 8) ||
+            (snake_posb7.y + 2 == b_pos.y + 8) ||
+            (snake_posb8.y + 2 == b_pos.y + 8) ||
+            (snake_posb9.y + 2 == b_pos.y + 8) ||
+            (snake_posb10.y + 2 ==b_pos.y + 8) ||
+            (snake_posb11.y + 2 == b_pos.y + 8) ||
+            (snake_posb12.y + 2 == b_pos.y + 8) ||
+            (snake_posb13.y + 2 == b_pos.y + 8) ||
+            (snake_posb14.y + 2 == b_pos.y + 8) ||
+            (snake_posb15.y + 2 == b_pos.y + 8) ||
+            (snake_pos.y + 2 == b_pos.y + 9) ||
+            (snake_posb1.y + 2 == b_pos.y + 9) ||
+            (snake_posb2.y + 2 == b_pos.y + 9) ||
+            (snake_posb3.y + 2 == b_pos.y + 9) ||
+            (snake_posb4.y + 2 == b_pos.y + 9) ||
+            (snake_posb5.y + 2 == b_pos.y + 9) ||
+            (snake_posb6.y + 2 == b_pos.y + 9) ||
+            (snake_posb7.y + 2 == b_pos.y + 9) ||
+            (snake_posb8.y + 2 == b_pos.y + 9) ||
+            (snake_posb9.y + 2 == b_pos.y + 9) ||
+            (snake_posb10.y + 2 ==b_pos.y + 9) ||
+            (snake_posb11.y + 2 == b_pos.y + 9) ||
+            (snake_posb12.y + 2 == b_pos.y + 9) ||
+            (snake_posb13.y + 2 == b_pos.y + 9) ||
+            (snake_posb14.y + 2 == b_pos.y + 9) ||
+            (snake_posb15.y + 2 == b_pos.y + 9) ||
+            (snake_pos.y + 2 == b_pos.y + 10) ||
+            (snake_posb1.y + 2 == b_pos.y + 10) ||
+            (snake_posb2.y + 2 == b_pos.y + 10) ||
+            (snake_posb3.y + 2 == b_pos.y + 10) ||
+            (snake_posb4.y + 2 == b_pos.y + 10) ||
+            (snake_posb5.y + 2 == b_pos.y + 10) ||
+            (snake_posb6.y + 2 == b_pos.y + 10) ||
+            (snake_posb7.y + 2 == b_pos.y + 10) ||
+            (snake_posb8.y + 2 == b_pos.y + 10) ||
+            (snake_posb9.y + 2 == b_pos.y + 10) ||
+            (snake_posb10.y + 2 ==b_pos.y + 10) ||
+            (snake_posb11.y + 2 == b_pos.y + 10) ||
+            (snake_posb12.y + 2 == b_pos.y + 10) ||
+            (snake_posb13.y + 2 == b_pos.y + 10) ||
+            (snake_posb14.y + 2 == b_pos.y + 10) ||
+            (snake_posb15.y + 2 == b_pos.y + 10)) &&
+            /*(snake_pos.y + 2 == b_pos.y + 11) ||
+            (snake_posb1.y + 2 == b_pos.y + 11) ||
+            (snake_posb2.y + 2 == b_pos.y + 11) ||
+            (snake_posb3.y + 2 == b_pos.y + 11) ||
+            (snake_posb4.y + 2 == b_pos.y + 11) ||
+            (snake_posb5.y + 2 == b_pos.y + 11) ||
+            (snake_posb6.y + 2 == b_pos.y + 11) ||
+            (snake_posb7.y + 2 == b_pos.y + 11) ||
+            (snake_posb8.y + 2 == b_pos.y + 11) ||
+            (snake_posb9.y + 2 == b_pos.y + 11) ||
+            (snake_posb10.y + 2 ==b_pos.y + 11) ||
+            (snake_posb11.y + 2 == b_pos.y + 11) ||
+            (snake_posb12.y + 2 == b_pos.y + 11) ||
+            (snake_posb13.y + 2 == b_pos.y + 11) ||
+            (snake_posb14.y + 2 == b_pos.y + 11) ||
+            (snake_posb15.y + 2 == b_pos.y + 11) ||
+            (snake_pos.y + 2 == b_pos.y + 12) ||
+            (snake_posb1.y + 2 == b_pos.y + 12) ||
+            (snake_posb2.y + 2 == b_pos.y + 12) ||
+            (snake_posb3.y + 2 == b_pos.y + 12) ||
+            (snake_posb4.y + 2 == b_pos.y + 12) ||
+            (snake_posb5.y + 2 == b_pos.y + 12) ||
+            (snake_posb6.y + 2 == b_pos.y + 12) ||
+            (snake_posb7.y + 2 == b_pos.y + 12) ||
+            (snake_posb8.y + 2 == b_pos.y + 12) ||
+            (snake_posb9.y + 2 == b_pos.y + 12) ||
+            (snake_posb10.y + 2 ==b_pos.y + 12) ||
+            (snake_posb11.y + 2 == b_pos.y + 12) ||
+            (snake_posb12.y + 2 == b_pos.y + 12) ||
+            (snake_posb13.y + 2 == b_pos.y + 12) ||
+            (snake_posb14.y + 2 == b_pos.y + 12) ||
+            (snake_posb15.y + 2 == b_pos.y + 12)) &&*/
+            ((snake_pos.x == b_pos.x + 3) ||  //W
+            (snake_posb1.x == b_pos.y + 3) ||
+            (snake_posb2.x == b_pos.y + 3) ||
+            (snake_posb3.x == b_pos.y + 3) ||
+            (snake_posb4.x == b_pos.y + 3) ||
+            (snake_posb5.x == b_pos.y + 3) ||
+            (snake_posb6.x == b_pos.y + 3) ||
+            (snake_posb7.x == b_pos.y + 3) ||
+            (snake_posb8.x == b_pos.y + 3) ||
+            (snake_posb9.x == b_pos.y + 3) ||
+            (snake_posb10.x == b_pos.y + 3) ||
+            (snake_posb11.x == b_pos.y + 3) ||
+            (snake_posb12.x == b_pos.y + 3) ||
+            (snake_posb13.x == b_pos.y + 3) ||
+            (snake_posb14.x == b_pos.y + 3) ||
+            (snake_posb15.x == b_pos.y + 3) ||
+            (snake_pos.x == b_pos.x + 35) ||  //W
+            (snake_posb1.x == b_pos.y + 35) ||
+            (snake_posb2.x == b_pos.y + 35) ||
+            (snake_posb3.x == b_pos.y + 35) ||
+            (snake_posb4.x == b_pos.y + 35) ||
+            (snake_posb5.x == b_pos.y + 35) ||
+            (snake_posb6.x == b_pos.y + 35) ||
+            (snake_posb7.x == b_pos.y + 35) ||
+            (snake_posb8.x == b_pos.y + 35) ||
+            (snake_posb9.x == b_pos.y + 35) ||
+            (snake_posb10.x == b_pos.y + 35) ||
+            (snake_posb11.x == b_pos.y + 35) ||
+            (snake_posb12.x == b_pos.y + 35) ||
+            (snake_posb13.x == b_pos.y + 35) ||
+            (snake_posb14.x == b_pos.y + 35) ||
+            (snake_posb15.x == b_pos.y + 35) ||
+            (snake_pos.x == b_pos.x + 67) ||  //W
+            (snake_posb1.x == b_pos.y + 67) ||
+            (snake_posb2.x == b_pos.y + 67) ||
+            (snake_posb3.x == b_pos.y + 67) ||
+            (snake_posb4.x == b_pos.y + 67) ||
+            (snake_posb5.x == b_pos.y + 67) ||
+            (snake_posb6.x == b_pos.y + 67) ||
+            (snake_posb7.x == b_pos.y + 67) ||
+            (snake_posb8.x == b_pos.y + 67) ||
+            (snake_posb9.x == b_pos.y + 67) ||
+            (snake_posb10.x == b_pos.y + 67) ||
+            (snake_posb11.x == b_pos.y + 67) ||
+            (snake_posb12.x == b_pos.y + 67) ||
+            (snake_posb13.x == b_pos.y + 67) ||
+            (snake_posb14.x == b_pos.y + 67) ||
+            (snake_posb15.x == b_pos.y + 67) ||
+            (snake_pos.x + 1 == b_pos.x + 3) ||  //E
+            (snake_posb1.x + 1 == b_pos.y + 3) ||
+            (snake_posb2.x + 1 == b_pos.y + 3) ||
+            (snake_posb3.x + 1 == b_pos.y + 3) ||
+            (snake_posb4.x + 1 == b_pos.y + 3) ||
+            (snake_posb5.x + 1 == b_pos.y + 3) ||
+            (snake_posb6.x + 1 == b_pos.y + 3) ||
+            (snake_posb7.x + 1 == b_pos.y + 3) ||
+            (snake_posb8.x + 1 == b_pos.y + 3) ||
+            (snake_posb9.x + 1 == b_pos.y + 3) ||
+            (snake_posb10.x + 1 == b_pos.y + 3) ||
+            (snake_posb11.x + 1 == b_pos.y + 3) ||
+            (snake_posb12.x + 1 == b_pos.y + 3) ||
+            (snake_posb13.x + 1 == b_pos.y + 3) ||
+            (snake_posb14.x + 1 == b_pos.y + 3) ||
+            (snake_posb15.x + 1 == b_pos.y + 3) ||
+            (snake_pos.x + 1 == b_pos.x + 35) ||  //W
+            (snake_posb1.x + 1 == b_pos.y + 35) ||
+            (snake_posb2.x + 1 == b_pos.y + 35) ||
+            (snake_posb3.x + 1 == b_pos.y + 35) ||
+            (snake_posb4.x + 1 == b_pos.y + 35) ||
+            (snake_posb5.x + 1 == b_pos.y + 35) ||
+            (snake_posb6.x + 1 == b_pos.y + 35) ||
+            (snake_posb7.x + 1 == b_pos.y + 35) ||
+            (snake_posb8.x + 1 == b_pos.y + 35) ||
+            (snake_posb9.x + 1 == b_pos.y + 35) ||
+            (snake_posb10.x + 1 == b_pos.y + 35) ||
+            (snake_posb11.x + 1 == b_pos.y + 35) ||
+            (snake_posb12.x + 1 == b_pos.y + 35) ||
+            (snake_posb13.x + 1 == b_pos.y + 35) ||
+            (snake_posb14.x + 1 == b_pos.y + 35) ||
+            (snake_posb15.x + 1 == b_pos.y + 35) ||
+            (snake_pos.x + 1 == b_pos.x + 67) ||  //W
+            (snake_posb1.x + 1 == b_pos.y + 67) ||
+            (snake_posb2.x + 1 == b_pos.y + 67) ||
+            (snake_posb3.x + 1 == b_pos.y + 67) ||
+            (snake_posb4.x + 1 == b_pos.y + 67) ||
+            (snake_posb5.x + 1 == b_pos.y + 67) ||
+            (snake_posb6.x + 1 == b_pos.y + 67) ||
+            (snake_posb7.x + 1 == b_pos.y + 67) ||
+            (snake_posb8.x + 1 == b_pos.y + 67) ||
+            (snake_posb9.x + 1 == b_pos.y + 67) ||
+            (snake_posb10.x + 1 == b_pos.y + 67) ||
+            (snake_posb11.x + 1 == b_pos.y + 67) ||
+            (snake_posb12.x + 1 == b_pos.y + 67) ||
+            (snake_posb13.x + 1 == b_pos.y + 67) ||
+            (snake_posb14.x + 1 == b_pos.y + 67) ||
+            (snake_posb15.x + 1 == b_pos.y + 67) ||
+            (snake_pos.x + 2 == b_pos.x + 3) ||  //W
+            (snake_posb1.x + 2 == b_pos.y + 3) ||
+            (snake_posb2.x + 2 == b_pos.y + 3) ||
+            (snake_posb3.x + 2 == b_pos.y + 3) ||
+            (snake_posb4.x + 2 == b_pos.y + 3) ||
+            (snake_posb5.x + 2 == b_pos.y + 3) ||
+            (snake_posb6.x + 2 == b_pos.y + 3) ||
+            (snake_posb7.x + 2 == b_pos.y + 3) ||
+            (snake_posb8.x + 2 == b_pos.y + 3) ||
+            (snake_posb9.x + 2 == b_pos.y + 3) ||
+            (snake_posb10.x + 2 == b_pos.y + 3) ||
+            (snake_posb11.x + 2 == b_pos.y + 3) ||
+            (snake_posb12.x + 2 == b_pos.y + 3) ||
+            (snake_posb13.x + 2 == b_pos.y + 3) ||
+            (snake_posb14.x + 2 == b_pos.y + 3) ||
+            (snake_posb15.x + 2 == b_pos.y + 3) ||
+            (snake_pos.x + 2 == b_pos.x + 35) ||  //W
+            (snake_posb1.x + 2 == b_pos.y + 35) ||
+            (snake_posb2.x + 2 == b_pos.y + 35) ||
+            (snake_posb3.x + 2 == b_pos.y + 35) ||
+            (snake_posb4.x + 2 == b_pos.y + 35) ||
+            (snake_posb5.x + 2 == b_pos.y + 35) ||
+            (snake_posb6.x + 2 == b_pos.y + 35) ||
+            (snake_posb7.x + 2 == b_pos.y + 35) ||
+            (snake_posb8.x + 2 == b_pos.y + 35) ||
+            (snake_posb9.x + 2 == b_pos.y + 35) ||
+            (snake_posb10.x + 2 == b_pos.y + 35) ||
+            (snake_posb11.x + 2 == b_pos.y + 35) ||
+            (snake_posb12.x + 2 == b_pos.y + 35) ||
+            (snake_posb13.x + 2 == b_pos.y + 35) ||
+            (snake_posb14.x + 2 == b_pos.y + 35) ||
+            (snake_posb15.x + 2 == b_pos.y + 35) ||
+            (snake_pos.x + 2 == b_pos.x + 67) ||  //W
+            (snake_posb1.x + 2 == b_pos.y + 67) ||
+            (snake_posb2.x + 2 == b_pos.y + 67) ||
+            (snake_posb3.x + 2 == b_pos.y + 67) ||
+            (snake_posb4.x + 2 == b_pos.y + 67) ||
+            (snake_posb5.x + 2 == b_pos.y + 67) ||
+            (snake_posb6.x + 2 == b_pos.y + 67) ||
+            (snake_posb7.x + 2 == b_pos.y + 67) ||
+            (snake_posb8.x + 2 == b_pos.y + 67) ||
+            (snake_posb9.x + 2 == b_pos.y + 67) ||
+            (snake_posb10.x + 2 == b_pos.y + 67) ||
+            (snake_posb11.x + 2 == b_pos.y + 67) ||
+            (snake_posb12.x + 2 == b_pos.y + 67) ||
+            (snake_posb13.x + 2 == b_pos.y + 67) ||
+            (snake_posb14.x + 2 == b_pos.y + 67) ||
+            (snake_posb15.x + 2 == b_pos.y + 67))&&(snake_pos.x > snake_posb1.x > snake_posb2.x > snake_posb3.x > snake_posb4.x > snake_posb5.x > snake_posb6.x > snake_posb7.x > snake_posb8.x > snake_posb9.x > snake_posb10.x > snake_posb11.x > snake_posb12.x > snake_posb13.x > snake_posb14.x > snake_posb15.x))
+        ) {
+        //add some code that it doesn't move
+        if (d == W) {
+            speed = 0;
+        }
+    }
+    else    {
+        speed = 1;
+    }
+    
+    //for East
+        if (
+             /*(((snake_pos.y == b_pos.y - 2) ||
+            (snake_posb1.y == b_pos.y - 2) ||
+            (snake_posb2.y == b_pos.y - 2) ||
+            (snake_posb3.y == b_pos.y - 2) ||
+            (snake_posb4.y == b_pos.y - 2) ||
+            (snake_posb5.y == b_pos.y - 2) ||
+            (snake_posb6.y == b_pos.y - 2) ||
+            (snake_posb7.y == b_pos.y - 2) ||
+            (snake_posb8.y == b_pos.y - 2) ||
+            (snake_posb9.y == b_pos.y - 2) ||
+            (snake_posb10.y == b_pos.y - 2) ||
+            (snake_posb11.y == b_pos.y - 2) ||
+            (snake_posb12.y == b_pos.y - 2) ||
+            (snake_posb13.y == b_pos.y - 2) ||
+            (snake_posb14.y == b_pos.y - 2) ||
+            (snake_posb15.y == b_pos.y - 2) ||
+            (snake_pos.y == b_pos.y - 1) ||
+            (snake_posb1.y == b_pos.y - 1) ||
+            (snake_posb2.y == b_pos.y - 1) ||
+            (snake_posb3.y == b_pos.y - 1) ||
+            (snake_posb4.y == b_pos.y - 1) ||
+            (snake_posb5.y == b_pos.y - 1) ||
+            (snake_posb6.y == b_pos.y - 1) ||
+            (snake_posb7.y == b_pos.y - 1) ||
+            (snake_posb8.y == b_pos.y - 1) ||
+            (snake_posb9.y == b_pos.y - 1) ||
+            (snake_posb10.y ==b_pos.y - 1) ||
+            (snake_posb11.y == b_pos.y - 1) ||
+            (snake_posb12.y == b_pos.y - 1) ||
+            (snake_posb13.y == b_pos.y - 1) ||
+            (snake_posb14.y == b_pos.y - 1) ||
+            (snake_posb15.y == b_pos.y - 1) ||  */
+            (((snake_pos.y == b_pos.y) ||
+            (snake_posb1.y == b_pos.y) ||
+            (snake_posb2.y == b_pos.y) ||
+            (snake_posb3.y == b_pos.y) ||
+            (snake_posb4.y == b_pos.y) ||
+            (snake_posb5.y == b_pos.y) ||
+            (snake_posb6.y == b_pos.y) ||
+            (snake_posb7.y == b_pos.y) ||
+            (snake_posb8.y == b_pos.y) ||
+            (snake_posb9.y == b_pos.y) ||
+            (snake_posb10.y ==b_pos.y) ||
+            (snake_posb11.y == b_pos.y) ||
+            (snake_posb12.y == b_pos.y) ||
+            (snake_posb13.y == b_pos.y) ||
+            (snake_posb14.y == b_pos.y) ||
+            (snake_posb15.y == b_pos.y) ||
+            (snake_pos.y == b_pos.y + 1) ||
+            (snake_posb1.y == b_pos.y + 1) ||
+            (snake_posb2.y == b_pos.y + 1) ||
+            (snake_posb3.y == b_pos.y + 1) ||
+            (snake_posb4.y == b_pos.y + 1) ||
+            (snake_posb5.y == b_pos.y + 1) ||
+            (snake_posb6.y == b_pos.y + 1) ||
+            (snake_posb7.y == b_pos.y + 1) ||
+            (snake_posb8.y == b_pos.y + 1) ||
+            (snake_posb9.y == b_pos.y + 1) ||
+            (snake_posb10.y ==b_pos.y + 1) ||
+            (snake_posb11.y == b_pos.y + 1) ||
+            (snake_posb12.y == b_pos.y + 1) ||
+            (snake_posb13.y == b_pos.y + 1) ||
+            (snake_posb14.y == b_pos.y + 1) ||
+            (snake_posb15.y == b_pos.y + 1) ||
+            (snake_pos.y == b_pos.y + 2) ||
+            (snake_posb1.y == b_pos.y + 2) ||
+            (snake_posb2.y == b_pos.y + 2) ||
+            (snake_posb3.y == b_pos.y + 2) ||
+            (snake_posb4.y == b_pos.y + 2) ||
+            (snake_posb5.y == b_pos.y + 2) ||
+            (snake_posb6.y == b_pos.y + 2) ||
+            (snake_posb7.y == b_pos.y + 2) ||
+            (snake_posb8.y == b_pos.y + 2) ||
+            (snake_posb9.y == b_pos.y + 2) ||
+            (snake_posb10.y ==b_pos.y + 2) ||
+            (snake_posb11.y == b_pos.y + 2) ||
+            (snake_posb12.y == b_pos.y + 2) ||
+            (snake_posb13.y == b_pos.y + 2) ||
+            (snake_posb14.y == b_pos.y + 2) ||
+            (snake_posb15.y == b_pos.y + 2) ||
+            (snake_pos.y == b_pos.y + 3) ||
+            (snake_posb1.y == b_pos.y + 3) ||
+            (snake_posb2.y == b_pos.y + 3) ||
+            (snake_posb3.y == b_pos.y + 3) ||
+            (snake_posb4.y == b_pos.y + 3) ||
+            (snake_posb5.y == b_pos.y + 3) ||
+            (snake_posb6.y == b_pos.y + 3) ||
+            (snake_posb7.y == b_pos.y + 3) ||
+            (snake_posb8.y == b_pos.y + 3) ||
+            (snake_posb9.y == b_pos.y + 3) ||
+            (snake_posb10.y ==b_pos.y + 3) ||
+            (snake_posb11.y == b_pos.y + 3) ||
+            (snake_posb12.y == b_pos.y + 3) ||
+            (snake_posb13.y == b_pos.y + 3) ||
+            (snake_posb14.y == b_pos.y + 3) ||
+            (snake_posb15.y == b_pos.y + 3) ||
+            (snake_pos.y == b_pos.y + 4) ||
+            (snake_posb1.y == b_pos.y + 4) ||
+            (snake_posb2.y == b_pos.y + 4) ||
+            (snake_posb3.y == b_pos.y + 4) ||
+            (snake_posb4.y == b_pos.y + 4) ||
+            (snake_posb5.y == b_pos.y + 4) ||
+            (snake_posb6.y == b_pos.y + 4) ||
+            (snake_posb7.y == b_pos.y + 4) ||
+            (snake_posb8.y == b_pos.y + 4) ||
+            (snake_posb9.y == b_pos.y + 4) ||
+            (snake_posb10.y ==b_pos.y + 4) ||
+            (snake_posb11.y == b_pos.y + 4) ||
+            (snake_posb12.y == b_pos.y + 4) ||
+            (snake_posb13.y == b_pos.y + 4) ||
+            (snake_posb14.y == b_pos.y + 4) ||
+            (snake_posb15.y == b_pos.y + 4) ||
+            (snake_pos.y == b_pos.y + 5) ||
+            (snake_posb1.y == b_pos.y + 5) ||
+            (snake_posb2.y == b_pos.y + 5) ||
+            (snake_posb3.y == b_pos.y + 5) ||
+            (snake_posb4.y == b_pos.y + 5) ||
+            (snake_posb5.y == b_pos.y + 5) ||
+            (snake_posb6.y == b_pos.y + 5) ||
+            (snake_posb7.y == b_pos.y + 5) ||
+            (snake_posb8.y == b_pos.y + 5) ||
+            (snake_posb9.y == b_pos.y + 5) ||
+            (snake_posb10.y ==b_pos.y + 5) ||
+            (snake_posb11.y == b_pos.y + 5) ||
+            (snake_posb12.y == b_pos.y + 5) ||
+            (snake_posb13.y == b_pos.y + 5) ||
+            (snake_posb14.y == b_pos.y + 5) ||
+            (snake_posb15.y == b_pos.y + 5) ||
+            (snake_pos.y == b_pos.y + 6) ||
+            (snake_posb1.y == b_pos.y + 6) ||
+            (snake_posb2.y == b_pos.y + 6) ||
+            (snake_posb3.y == b_pos.y + 6) ||
+            (snake_posb4.y == b_pos.y + 6) ||
+            (snake_posb5.y == b_pos.y + 6) ||
+            (snake_posb6.y == b_pos.y + 6) ||
+            (snake_posb7.y == b_pos.y + 6) ||
+            (snake_posb8.y == b_pos.y + 6) ||
+            (snake_posb9.y == b_pos.y + 6) ||
+            (snake_posb10.y ==b_pos.y + 6) ||
+            (snake_posb11.y == b_pos.y + 6) ||
+            (snake_posb12.y == b_pos.y + 6) ||
+            (snake_posb13.y == b_pos.y + 6) ||
+            (snake_posb14.y == b_pos.y + 6) ||
+            (snake_posb15.y == b_pos.y + 6) ||
+            (snake_pos.y == b_pos.y + 7) ||
+            (snake_posb1.y == b_pos.y + 7) ||
+            (snake_posb2.y == b_pos.y + 7) ||
+            (snake_posb3.y == b_pos.y + 7) ||
+            (snake_posb4.y == b_pos.y + 7) ||
+            (snake_posb5.y == b_pos.y + 7) ||
+            (snake_posb6.y == b_pos.y + 7) ||
+            (snake_posb7.y == b_pos.y + 7) ||
+            (snake_posb8.y == b_pos.y + 7) ||
+            (snake_posb9.y == b_pos.y + 7) ||
+            (snake_posb10.y ==b_pos.y + 7) ||
+            (snake_posb11.y == b_pos.y + 7) ||
+            (snake_posb12.y == b_pos.y + 7) ||
+            (snake_posb13.y == b_pos.y + 7) ||
+            (snake_posb14.y == b_pos.y + 7) ||
+            (snake_posb15.y == b_pos.y + 7) ||
+            (snake_pos.y == b_pos.y + 8) ||
+            (snake_posb1.y == b_pos.y + 8) ||
+            (snake_posb2.y == b_pos.y + 8) ||
+            (snake_posb3.y == b_pos.y + 8) ||
+            (snake_posb4.y == b_pos.y + 8) ||
+            (snake_posb5.y == b_pos.y + 8) ||
+            (snake_posb6.y == b_pos.y + 8) ||
+            (snake_posb7.y == b_pos.y + 8) ||
+            (snake_posb8.y == b_pos.y + 8) ||
+            (snake_posb9.y == b_pos.y + 8) ||
+            (snake_posb10.y ==b_pos.y + 8) ||
+            (snake_posb11.y == b_pos.y + 8) ||
+            (snake_posb12.y == b_pos.y + 8) ||
+            (snake_posb13.y == b_pos.y + 8) ||
+            (snake_posb14.y == b_pos.y + 8) ||
+            (snake_posb15.y == b_pos.y + 8) ||
+            (snake_pos.y == b_pos.y + 9) ||
+            (snake_posb1.y == b_pos.y + 9) ||
+            (snake_posb2.y == b_pos.y + 9) ||
+            (snake_posb3.y == b_pos.y + 9) ||
+            (snake_posb4.y == b_pos.y + 9) ||
+            (snake_posb5.y == b_pos.y + 9) ||
+            (snake_posb6.y == b_pos.y + 9) ||
+            (snake_posb7.y == b_pos.y + 9) ||
+            (snake_posb8.y == b_pos.y + 9) ||
+            (snake_posb9.y == b_pos.y + 9) ||
+            (snake_posb10.y ==b_pos.y + 9) ||
+            (snake_posb11.y == b_pos.y + 9) ||
+            (snake_posb12.y == b_pos.y + 9) ||
+            (snake_posb13.y == b_pos.y + 9) ||
+            (snake_posb14.y == b_pos.y + 9) ||
+            (snake_posb15.y == b_pos.y + 9) ||
+            (snake_pos.y == b_pos.y + 10) ||
+            (snake_posb1.y == b_pos.y + 10) ||
+            (snake_posb2.y == b_pos.y + 10) ||
+            (snake_posb3.y == b_pos.y + 10) ||
+            (snake_posb4.y == b_pos.y + 10) ||
+            (snake_posb5.y == b_pos.y + 10) ||
+            (snake_posb6.y == b_pos.y + 10) ||
+            (snake_posb7.y == b_pos.y + 10) ||
+            (snake_posb8.y == b_pos.y + 10) ||
+            (snake_posb9.y == b_pos.y + 10) ||
+            (snake_posb10.y == b_pos.y + 10) ||
+            (snake_posb11.y == b_pos.y + 10) ||
+            (snake_posb12.y == b_pos.y + 10) ||
+            (snake_posb13.y == b_pos.y + 10) ||
+            (snake_posb14.y == b_pos.y + 10) ||
+            (snake_posb15.y == b_pos.y + 10) ||
+            /*(snake_pos.y == b_pos.y + 11) ||
+            (snake_posb1.y == b_pos.y + 11) ||
+            (snake_posb2.y == b_pos.y + 11) ||
+            (snake_posb3.y == b_pos.y + 11) ||
+            (snake_posb4.y == b_pos.y + 11) ||
+            (snake_posb5.y == b_pos.y + 11) ||
+            (snake_posb6.y == b_pos.y + 11) ||
+            (snake_posb7.y == b_pos.y + 11) ||
+            (snake_posb8.y == b_pos.y + 11) ||
+            (snake_posb9.y == b_pos.y + 11) ||
+            (snake_posb10.y ==b_pos.y + 11) ||
+            (snake_posb11.y == b_pos.y + 11) ||
+            (snake_posb12.y == b_pos.y + 11) ||
+            (snake_posb13.y == b_pos.y + 11) ||
+            (snake_posb14.y == b_pos.y + 11) ||
+            (snake_posb15.y == b_pos.y + 11) ||
+            (snake_pos.y == b_pos.y + 12) ||
+            (snake_posb1.y == b_pos.y + 12) ||
+            (snake_posb2.y == b_pos.y + 12) ||
+            (snake_posb3.y == b_pos.y + 12) ||
+            (snake_posb4.y == b_pos.y + 12) ||
+            (snake_posb5.y == b_pos.y + 12) ||
+            (snake_posb6.y == b_pos.y + 12) ||
+            (snake_posb7.y == b_pos.y + 12) ||
+            (snake_posb8.y == b_pos.y + 12) ||
+            (snake_posb9.y == b_pos.y + 12) ||
+            (snake_posb10.y ==b_pos.y + 12) ||
+            (snake_posb11.y == b_pos.y + 12) ||
+            (snake_posb12.y == b_pos.y + 12) ||
+            (snake_posb13.y == b_pos.y + 12) ||
+            (snake_posb14.y == b_pos.y + 12) ||
+            (snake_posb15.y == b_pos.y + 12) ||*/
+            /*(snake_pos.y + 1 == b_pos.y - 2) ||
+            (snake_posb1.y + 1 == b_pos.y - 2) ||
+            (snake_posb2.y + 1 == b_pos.y - 2) ||
+            (snake_posb3.y + 1 == b_pos.y - 2) ||
+            (snake_posb4.y + 1 == b_pos.y - 2) ||
+            (snake_posb5.y + 1 == b_pos.y - 2) ||
+            (snake_posb6.y + 1 == b_pos.y - 2) ||
+            (snake_posb7.y + 1 == b_pos.y - 2) ||
+            (snake_posb8.y + 1 == b_pos.y - 2) ||
+            (snake_posb9.y + 1 == b_pos.y - 2) ||
+            (snake_posb10.y + 1 == b_pos.y - 2) ||
+            (snake_posb11.y + 1 == b_pos.y - 2) ||
+            (snake_posb12.y + 1 == b_pos.y - 2) ||
+            (snake_posb13.y + 1 == b_pos.y - 2) ||
+            (snake_posb14.y + 1 == b_pos.y - 2) ||
+            (snake_posb15.y + 1 == b_pos.y - 2) ||
+            (snake_pos.y + 1 == b_pos.y - 1) ||
+            (snake_posb1.y + 1 == b_pos.y - 1) ||
+            (snake_posb2.y + 1 == b_pos.y - 1) ||
+            (snake_posb3.y + 1 == b_pos.y - 1) ||
+            (snake_posb4.y + 1 == b_pos.y - 1) ||
+            (snake_posb5.y + 1 == b_pos.y - 1) ||
+            (snake_posb6.y + 1 == b_pos.y - 1) ||
+            (snake_posb7.y + 1 == b_pos.y - 1) ||
+            (snake_posb8.y + 1 == b_pos.y - 1) ||
+            (snake_posb9.y + 1 == b_pos.y - 1) ||
+            (snake_posb10.y + 1 ==b_pos.y - 1) ||
+            (snake_posb11.y + 1 == b_pos.y - 1) ||
+            (snake_posb12.y + 1 == b_pos.y - 1) ||
+            (snake_posb13.y + 1 == b_pos.y - 1) ||
+            (snake_posb14.y + 1 == b_pos.y - 1) ||
+            (snake_posb15.y + 1 == b_pos.y - 1) ||*/
+            (snake_pos.y + 1 == b_pos.y) ||
+            (snake_posb1.y + 1 == b_pos.y) ||
+            (snake_posb2.y + 1 == b_pos.y) ||
+            (snake_posb3.y + 1 == b_pos.y) ||
+            (snake_posb4.y + 1 == b_pos.y) ||
+            (snake_posb5.y + 1 == b_pos.y) ||
+            (snake_posb6.y + 1 == b_pos.y) ||
+            (snake_posb7.y + 1 == b_pos.y) ||
+            (snake_posb8.y + 1 == b_pos.y) ||
+            (snake_posb9.y + 1 == b_pos.y) ||
+            (snake_posb10.y + 1 ==b_pos.y) ||
+            (snake_posb11.y + 1 == b_pos.y) ||
+            (snake_posb12.y + 1 == b_pos.y) ||
+            (snake_posb13.y + 1 == b_pos.y) ||
+            (snake_posb14.y + 1 == b_pos.y) ||
+            (snake_posb15.y + 1 == b_pos.y) ||
+            (snake_pos.y + 1 == b_pos.y + 1) ||
+            (snake_posb1.y + 1 == b_pos.y + 1) ||
+            (snake_posb2.y + 1 == b_pos.y + 1) ||
+            (snake_posb3.y + 1 == b_pos.y + 1) ||
+            (snake_posb4.y + 1 == b_pos.y + 1) ||
+            (snake_posb5.y + 1 == b_pos.y + 1) ||
+            (snake_posb6.y + 1 == b_pos.y + 1) ||
+            (snake_posb7.y + 1 == b_pos.y + 1) ||
+            (snake_posb8.y + 1 == b_pos.y + 1) ||
+            (snake_posb9.y + 1 == b_pos.y + 1) ||
+            (snake_posb10.y + 1 ==b_pos.y + 1) ||
+            (snake_posb11.y + 1 == b_pos.y + 1) ||
+            (snake_posb12.y + 1 == b_pos.y + 1) ||
+            (snake_posb13.y + 1 == b_pos.y + 1) ||
+            (snake_posb14.y + 1 == b_pos.y + 1) ||
+            (snake_posb15.y + 1 == b_pos.y + 1) ||
+            (snake_pos.y + 1 == b_pos.y + 2) ||
+            (snake_posb1.y + 1 == b_pos.y + 2) ||
+            (snake_posb2.y + 1 == b_pos.y + 2) ||
+            (snake_posb3.y + 1 == b_pos.y + 2) ||
+            (snake_posb4.y + 1 == b_pos.y + 2) ||
+            (snake_posb5.y + 1 == b_pos.y + 2) ||
+            (snake_posb6.y + 1 == b_pos.y + 2) ||
+            (snake_posb7.y + 1 == b_pos.y + 2) ||
+            (snake_posb8.y + 1 == b_pos.y + 2) ||
+            (snake_posb9.y + 1 == b_pos.y + 2) ||
+            (snake_posb10.y + 1 ==b_pos.y + 2) ||
+            (snake_posb11.y + 1 == b_pos.y + 2) ||
+            (snake_posb12.y + 1 == b_pos.y + 2) ||
+            (snake_posb13.y + 1 == b_pos.y + 2) ||
+            (snake_posb14.y + 1 == b_pos.y + 2) ||
+            (snake_posb15.y + 1 == b_pos.y + 2) ||
+            (snake_pos.y + 1 == b_pos.y + 3) ||
+            (snake_posb1.y + 1 == b_pos.y + 3) ||
+            (snake_posb2.y + 1 == b_pos.y + 3) ||
+            (snake_posb3.y + 1 == b_pos.y + 3) ||
+            (snake_posb4.y + 1 == b_pos.y + 3) ||
+            (snake_posb5.y + 1 == b_pos.y + 3) ||
+            (snake_posb6.y + 1 == b_pos.y + 3) ||
+            (snake_posb7.y + 1 == b_pos.y + 3) ||
+            (snake_posb8.y + 1 == b_pos.y + 3) ||
+            (snake_posb9.y + 1 == b_pos.y + 3) ||
+            (snake_posb10.y + 1 ==b_pos.y + 3) ||
+            (snake_posb11.y + 1 == b_pos.y + 3) ||
+            (snake_posb12.y + 1 == b_pos.y + 3) ||
+            (snake_posb13.y + 1 == b_pos.y + 3) ||
+            (snake_posb14.y + 1 == b_pos.y + 3) ||
+            (snake_posb15.y + 1 == b_pos.y + 3) ||
+            (snake_pos.y + 1 == b_pos.y + 4) ||
+            (snake_posb1.y + 1 == b_pos.y + 4) ||
+            (snake_posb2.y + 1 == b_pos.y + 4) ||
+            (snake_posb3.y + 1 == b_pos.y + 4) ||
+            (snake_posb4.y + 1 == b_pos.y + 4) ||
+            (snake_posb5.y + 1 == b_pos.y + 4) ||
+            (snake_posb6.y + 1 == b_pos.y + 4) ||
+            (snake_posb7.y + 1 == b_pos.y + 4) ||
+            (snake_posb8.y + 1 == b_pos.y + 4) ||
+            (snake_posb9.y + 1 == b_pos.y + 4) ||
+            (snake_posb10.y + 1 ==b_pos.y + 4) ||
+            (snake_posb11.y + 1 == b_pos.y + 4) ||
+            (snake_posb12.y + 1 == b_pos.y + 4) ||
+            (snake_posb13.y + 1 == b_pos.y + 4) ||
+            (snake_posb14.y + 1 == b_pos.y + 4) ||
+            (snake_posb15.y + 1 == b_pos.y + 4) ||
+            (snake_pos.y + 1 == b_pos.y + 5) ||
+            (snake_posb1.y + 1 == b_pos.y + 5) ||
+            (snake_posb2.y + 1 == b_pos.y + 5) ||
+            (snake_posb3.y + 1 == b_pos.y + 5) ||
+            (snake_posb4.y + 1 == b_pos.y + 5) ||
+            (snake_posb5.y + 1 == b_pos.y + 5) ||
+            (snake_posb6.y + 1 == b_pos.y + 5) ||
+            (snake_posb7.y + 1 == b_pos.y + 5) ||
+            (snake_posb8.y + 1 == b_pos.y + 5) ||
+            (snake_posb9.y + 1 == b_pos.y + 5) ||
+            (snake_posb10.y + 1 ==b_pos.y + 5) ||
+            (snake_posb11.y + 1 == b_pos.y + 5) ||
+            (snake_posb12.y + 1 == b_pos.y + 5) ||
+            (snake_posb13.y + 1 == b_pos.y + 5) ||
+            (snake_posb14.y + 1 == b_pos.y + 5) ||
+            (snake_posb15.y + 1 == b_pos.y + 5) ||
+            (snake_pos.y + 1 == b_pos.y + 6) ||
+            (snake_posb1.y + 1 == b_pos.y + 6) ||
+            (snake_posb2.y + 1 == b_pos.y + 6) ||
+            (snake_posb3.y + 1 == b_pos.y + 6) ||
+            (snake_posb4.y + 1 == b_pos.y + 6) ||
+            (snake_posb5.y + 1 == b_pos.y + 6) ||
+            (snake_posb6.y + 1 == b_pos.y + 6) ||
+            (snake_posb7.y + 1 == b_pos.y + 6) ||
+            (snake_posb8.y + 1 == b_pos.y + 6) ||
+            (snake_posb9.y + 1 == b_pos.y + 6) ||
+            (snake_posb10.y + 1 ==b_pos.y + 6) ||
+            (snake_posb11.y + 1 == b_pos.y + 6) ||
+            (snake_posb12.y + 1 == b_pos.y + 6) ||
+            (snake_posb13.y + 1 == b_pos.y + 6) ||
+            (snake_posb14.y + 1 == b_pos.y + 6) ||
+            (snake_posb15.y + 1 == b_pos.y + 6) ||
+            (snake_pos.y + 1 == b_pos.y + 7) ||
+            (snake_posb1.y + 1 == b_pos.y + 7) ||
+            (snake_posb2.y + 1 == b_pos.y + 7) ||
+            (snake_posb3.y + 1 == b_pos.y + 7) ||
+            (snake_posb4.y + 1 == b_pos.y + 7) ||
+            (snake_posb5.y + 1 == b_pos.y + 7) ||
+            (snake_posb6.y + 1 == b_pos.y + 7) ||
+            (snake_posb7.y + 1 == b_pos.y + 7) ||
+            (snake_posb8.y + 1 == b_pos.y + 7) ||
+            (snake_posb9.y + 1 == b_pos.y + 7) ||
+            (snake_posb10.y + 1 ==b_pos.y + 7) ||
+            (snake_posb11.y + 1 == b_pos.y + 7) ||
+            (snake_posb12.y + 1 == b_pos.y + 7) ||
+            (snake_posb13.y + 1 == b_pos.y + 7) ||
+            (snake_posb14.y + 1 == b_pos.y + 7) ||
+            (snake_posb15.y + 1 == b_pos.y + 7) ||
+            (snake_pos.y + 1 == b_pos.y + 8) ||
+            (snake_posb1.y + 1 == b_pos.y + 8) ||
+            (snake_posb2.y + 1 == b_pos.y + 8) ||
+            (snake_posb3.y + 1 == b_pos.y + 8) ||
+            (snake_posb4.y + 1 == b_pos.y + 8) ||
+            (snake_posb5.y + 1 == b_pos.y + 8) ||
+            (snake_posb6.y + 1 == b_pos.y + 8) ||
+            (snake_posb7.y + 1 == b_pos.y + 8) ||
+            (snake_posb8.y + 1 == b_pos.y + 8) ||
+            (snake_posb9.y + 1 == b_pos.y + 8) ||
+            (snake_posb10.y + 1 ==b_pos.y + 8) ||
+            (snake_posb11.y + 1 == b_pos.y + 8) ||
+            (snake_posb12.y + 1 == b_pos.y + 8) ||
+            (snake_posb13.y + 1 == b_pos.y + 8) ||
+            (snake_posb14.y + 1 == b_pos.y + 8) ||
+            (snake_posb15.y + 1 == b_pos.y + 8) ||
+            (snake_pos.y + 1 == b_pos.y + 9) ||
+            (snake_posb1.y + 1 == b_pos.y + 9) ||
+            (snake_posb2.y + 1 == b_pos.y + 9) ||
+            (snake_posb3.y + 1 == b_pos.y + 9) ||
+            (snake_posb4.y + 1 == b_pos.y + 9) ||
+            (snake_posb5.y + 1 == b_pos.y + 9) ||
+            (snake_posb6.y + 1 == b_pos.y + 9) ||
+            (snake_posb7.y + 1 == b_pos.y + 9) ||
+            (snake_posb8.y + 1 == b_pos.y + 9) ||
+            (snake_posb9.y + 1 == b_pos.y + 9) ||
+            (snake_posb10.y + 1 ==b_pos.y + 9) ||
+            (snake_posb11.y + 1 == b_pos.y + 9) ||
+            (snake_posb12.y + 1 == b_pos.y + 9) ||
+            (snake_posb13.y + 1 == b_pos.y + 9) ||
+            (snake_posb14.y + 1 == b_pos.y + 9) ||
+            (snake_posb15.y + 1 == b_pos.y + 9) ||
+            (snake_pos.y + 1 == b_pos.y + 10) ||
+            (snake_posb1.y + 1 == b_pos.y + 10) ||
+            (snake_posb2.y + 1 == b_pos.y + 10) ||
+            (snake_posb3.y + 1 == b_pos.y + 10) ||
+            (snake_posb4.y + 1 == b_pos.y + 10) ||
+            (snake_posb5.y + 1 == b_pos.y + 10) ||
+            (snake_posb6.y + 1 == b_pos.y + 10) ||
+            (snake_posb7.y + 1 == b_pos.y + 10) ||
+            (snake_posb8.y + 1 == b_pos.y + 10) ||
+            (snake_posb9.y + 1 == b_pos.y + 10) ||
+            (snake_posb10.y + 1 ==b_pos.y + 10) ||
+            (snake_posb11.y + 1 == b_pos.y + 10) ||
+            (snake_posb12.y + 1 == b_pos.y + 10) ||
+            (snake_posb13.y + 1 == b_pos.y + 10) ||
+            (snake_posb14.y + 1 == b_pos.y + 10) ||
+            (snake_posb15.y + 1 == b_pos.y + 10) ||
+            /*(snake_pos.y + 1 == b_pos.y + 11) ||
+            (snake_posb1.y + 1 == b_pos.y + 11) ||
+            (snake_posb2.y + 1 == b_pos.y + 11) ||
+            (snake_posb3.y + 1 == b_pos.y + 11) ||
+            (snake_posb4.y + 1 == b_pos.y + 11) ||
+            (snake_posb5.y + 1 == b_pos.y + 11) ||
+            (snake_posb6.y + 1 == b_pos.y + 11) ||
+            (snake_posb7.y + 1 == b_pos.y + 11) ||
+            (snake_posb8.y + 1 == b_pos.y + 11) ||
+            (snake_posb9.y + 1 == b_pos.y + 11) ||
+            (snake_posb10.y + 1 ==b_pos.y + 11) ||
+            (snake_posb11.y + 1 == b_pos.y + 11) ||
+            (snake_posb12.y + 1 == b_pos.y + 11) ||
+            (snake_posb13.y + 1 == b_pos.y + 11) ||
+            (snake_posb14.y + 1 == b_pos.y + 11) ||
+            (snake_posb15.y + 1 == b_pos.y + 11) ||
+            (snake_pos.y + 1 == b_pos.y + 12) ||
+            (snake_posb1.y + 1 == b_pos.y + 12) ||
+            (snake_posb2.y + 1 == b_pos.y + 12) ||
+            (snake_posb3.y + 1 == b_pos.y + 12) ||
+            (snake_posb4.y + 1 == b_pos.y + 12) ||
+            (snake_posb5.y + 1 == b_pos.y + 12) ||
+            (snake_posb6.y + 1 == b_pos.y + 12) ||
+            (snake_posb7.y + 1 == b_pos.y + 12) ||
+            (snake_posb8.y + 1 == b_pos.y + 12) ||
+            (snake_posb9.y + 1 == b_pos.y + 12) ||
+            (snake_posb10.y + 1 ==b_pos.y + 12) ||
+            (snake_posb11.y + 1 == b_pos.y + 12) ||
+            (snake_posb12.y + 1 == b_pos.y + 12) ||
+            (snake_posb13.y + 1 == b_pos.y + 12) ||
+            (snake_posb14.y + 1 == b_pos.y + 12) ||
+            (snake_posb15.y + 1 == b_pos.y + 12) ||*/
+            /*(snake_pos.y + 2 == b_pos.y - 2) ||
+            (snake_posb1.y + 2 == b_pos.y - 2) ||
+            (snake_posb2.y + 2 == b_pos.y - 2) ||
+            (snake_posb3.y + 2 == b_pos.y - 2) ||
+            (snake_posb4.y + 2 == b_pos.y - 2) ||
+            (snake_posb5.y + 2 == b_pos.y - 2) ||
+            (snake_posb6.y + 2 == b_pos.y - 2) ||
+            (snake_posb7.y + 2 == b_pos.y - 2) ||
+            (snake_posb8.y + 2 == b_pos.y - 2) ||
+            (snake_posb9.y + 2 == b_pos.y - 2) ||
+            (snake_posb10.y + 2 == b_pos.y - 2) ||
+            (snake_posb11.y + 2 == b_pos.y - 2) ||
+            (snake_posb12.y + 2 == b_pos.y - 2) ||
+            (snake_posb13.y + 2 == b_pos.y - 2) ||
+            (snake_posb14.y + 2 == b_pos.y - 2) ||
+            (snake_posb15.y + 2 == b_pos.y - 2) ||
+            (snake_pos.y + 2 == b_pos.y - 1) ||
+            (snake_posb1.y + 2 == b_pos.y - 1) ||
+            (snake_posb2.y + 2 == b_pos.y - 1) ||
+            (snake_posb3.y + 2 == b_pos.y - 1) ||
+            (snake_posb4.y + 2 == b_pos.y - 1) ||
+            (snake_posb5.y + 2 == b_pos.y - 1) ||
+            (snake_posb6.y + 2 == b_pos.y - 1) ||
+            (snake_posb7.y + 2 == b_pos.y - 1) ||
+            (snake_posb8.y + 2 == b_pos.y - 1) ||
+            (snake_posb9.y + 2 == b_pos.y - 1) ||
+            (snake_posb10.y + 2 ==b_pos.y - 1) ||
+            (snake_posb11.y + 2 == b_pos.y - 1) ||
+            (snake_posb12.y + 2 == b_pos.y - 1) ||
+            (snake_posb13.y + 2 == b_pos.y - 1) ||
+            (snake_posb14.y + 2 == b_pos.y - 1) ||
+            (snake_posb15.y + 2 == b_pos.y - 1) ||*/
+            (snake_pos.y + 2 == b_pos.y) ||
+            (snake_posb1.y + 2 == b_pos.y) ||
+            (snake_posb2.y + 2 == b_pos.y) ||
+            (snake_posb3.y + 2 == b_pos.y) ||
+            (snake_posb4.y + 2 == b_pos.y) ||
+            (snake_posb5.y + 2 == b_pos.y) ||
+            (snake_posb6.y + 2 == b_pos.y) ||
+            (snake_posb7.y + 2 == b_pos.y) ||
+            (snake_posb8.y + 2 == b_pos.y) ||
+            (snake_posb9.y + 2 == b_pos.y) ||
+            (snake_posb10.y + 2 ==b_pos.y) ||
+            (snake_posb11.y + 2 == b_pos.y) ||
+            (snake_posb12.y + 2 == b_pos.y) ||
+            (snake_posb13.y + 2 == b_pos.y) ||
+            (snake_posb14.y + 2 == b_pos.y) ||
+            (snake_posb15.y + 2 == b_pos.y) ||
+            (snake_pos.y + 2 == b_pos.y + 1) ||
+            (snake_posb1.y + 2 == b_pos.y + 1) ||
+            (snake_posb2.y + 2 == b_pos.y + 1) ||
+            (snake_posb3.y + 2 == b_pos.y + 1) ||
+            (snake_posb4.y + 2 == b_pos.y + 1) ||
+            (snake_posb5.y + 2 == b_pos.y + 1) ||
+            (snake_posb6.y + 2 == b_pos.y + 1) ||
+            (snake_posb7.y + 2 == b_pos.y + 1) ||
+            (snake_posb8.y + 2 == b_pos.y + 1) ||
+            (snake_posb9.y + 2 == b_pos.y + 1) ||
+            (snake_posb10.y + 2 ==b_pos.y + 1) ||
+            (snake_posb11.y + 2 == b_pos.y + 1) ||
+            (snake_posb12.y + 2 == b_pos.y + 1) ||
+            (snake_posb13.y + 2 == b_pos.y + 1) ||
+            (snake_posb14.y + 2 == b_pos.y + 1) ||
+            (snake_posb15.y + 2 == b_pos.y + 1) ||
+            (snake_pos.y + 2 == b_pos.y + 2) ||
+            (snake_posb1.y + 2 == b_pos.y + 2) ||
+            (snake_posb2.y + 2 == b_pos.y + 2) ||
+            (snake_posb3.y + 2 == b_pos.y + 2) ||
+            (snake_posb4.y + 2 == b_pos.y + 2) ||
+            (snake_posb5.y + 2 == b_pos.y + 2) ||
+            (snake_posb6.y + 2 == b_pos.y + 2) ||
+            (snake_posb7.y + 2 == b_pos.y + 2) ||
+            (snake_posb8.y + 2 == b_pos.y + 2) ||
+            (snake_posb9.y + 2 == b_pos.y + 2) ||
+            (snake_posb10.y + 2 ==b_pos.y + 2) ||
+            (snake_posb11.y + 2 == b_pos.y + 2) ||
+            (snake_posb12.y + 2 == b_pos.y + 2) ||
+            (snake_posb13.y + 2 == b_pos.y + 2) ||
+            (snake_posb14.y + 2 == b_pos.y + 2) ||
+            (snake_posb15.y + 2 == b_pos.y + 2) ||
+            (snake_pos.y + 2 == b_pos.y + 3) ||
+            (snake_posb1.y + 2 == b_pos.y + 3) ||
+            (snake_posb2.y + 2 == b_pos.y + 3) ||
+            (snake_posb3.y + 2 == b_pos.y + 3) ||
+            (snake_posb4.y + 2 == b_pos.y + 3) ||
+            (snake_posb5.y + 2 == b_pos.y + 3) ||
+            (snake_posb6.y + 2 == b_pos.y + 3) ||
+            (snake_posb7.y + 2 == b_pos.y + 3) ||
+            (snake_posb8.y + 2 == b_pos.y + 3) ||
+            (snake_posb9.y + 2 == b_pos.y + 3) ||
+            (snake_posb10.y + 2 ==b_pos.y + 3) ||
+            (snake_posb11.y + 2 == b_pos.y + 3) ||
+            (snake_posb12.y + 2 == b_pos.y + 3) ||
+            (snake_posb13.y + 2 == b_pos.y + 3) ||
+            (snake_posb14.y + 2 == b_pos.y + 3) ||
+            (snake_posb15.y + 2 == b_pos.y + 3) ||
+            (snake_pos.y + 2 == b_pos.y + 4) ||
+            (snake_posb1.y + 2 == b_pos.y + 4) ||
+            (snake_posb2.y + 2 == b_pos.y + 4) ||
+            (snake_posb3.y + 2 == b_pos.y + 4) ||
+            (snake_posb4.y + 2 == b_pos.y + 4) ||
+            (snake_posb5.y + 2 == b_pos.y + 4) ||
+            (snake_posb6.y + 2 == b_pos.y + 4) ||
+            (snake_posb7.y + 2 == b_pos.y + 4) ||
+            (snake_posb8.y + 2 == b_pos.y + 4) ||
+            (snake_posb9.y + 2 == b_pos.y + 4) ||
+            (snake_posb10.y + 2 ==b_pos.y + 4) ||
+            (snake_posb11.y + 2 == b_pos.y + 4) ||
+            (snake_posb12.y + 2 == b_pos.y + 4) ||
+            (snake_posb13.y + 2 == b_pos.y + 4) ||
+            (snake_posb14.y + 2 == b_pos.y + 4) ||
+            (snake_posb15.y + 2 == b_pos.y + 4) ||
+            (snake_pos.y + 2 == b_pos.y + 5) ||
+            (snake_posb1.y + 2 == b_pos.y + 5) ||
+            (snake_posb2.y + 2 == b_pos.y + 5) ||
+            (snake_posb3.y + 2 == b_pos.y + 5) ||
+            (snake_posb4.y + 2 == b_pos.y + 5) ||
+            (snake_posb5.y + 2 == b_pos.y + 5) ||
+            (snake_posb6.y + 2 == b_pos.y + 5) ||
+            (snake_posb7.y + 2 == b_pos.y + 5) ||
+            (snake_posb8.y + 2 == b_pos.y + 5) ||
+            (snake_posb9.y + 2 == b_pos.y + 5) ||
+            (snake_posb10.y + 2 ==b_pos.y + 5) ||
+            (snake_posb11.y + 2 == b_pos.y + 5) ||
+            (snake_posb12.y + 2 == b_pos.y + 5) ||
+            (snake_posb13.y + 2 == b_pos.y + 5) ||
+            (snake_posb14.y + 2 == b_pos.y + 5) ||
+            (snake_posb15.y + 2 == b_pos.y + 5) ||
+            (snake_pos.y + 2 == b_pos.y + 6) ||
+            (snake_posb1.y + 2 == b_pos.y + 6) ||
+            (snake_posb2.y + 2 == b_pos.y + 6) ||
+            (snake_posb3.y + 2 == b_pos.y + 6) ||
+            (snake_posb4.y + 2 == b_pos.y + 6) ||
+            (snake_posb5.y + 2 == b_pos.y + 6) ||
+            (snake_posb6.y + 2 == b_pos.y + 6) ||
+            (snake_posb7.y + 2 == b_pos.y + 6) ||
+            (snake_posb8.y + 2 == b_pos.y + 6) ||
+            (snake_posb9.y + 2 == b_pos.y + 6) ||
+            (snake_posb10.y + 2 ==b_pos.y + 6) ||
+            (snake_posb11.y + 2 == b_pos.y + 6) ||
+            (snake_posb12.y + 2 == b_pos.y + 6) ||
+            (snake_posb13.y + 2 == b_pos.y + 6) ||
+            (snake_posb14.y + 2 == b_pos.y + 6) ||
+            (snake_posb15.y + 2 == b_pos.y + 6) ||
+            (snake_pos.y + 2 == b_pos.y + 7) ||
+            (snake_posb1.y + 2 == b_pos.y + 7) ||
+            (snake_posb2.y + 2 == b_pos.y + 7) ||
+            (snake_posb3.y + 2 == b_pos.y + 7) ||
+            (snake_posb4.y + 2 == b_pos.y + 7) ||
+            (snake_posb5.y + 2 == b_pos.y + 7) ||
+            (snake_posb6.y + 2 == b_pos.y + 7) ||
+            (snake_posb7.y + 2 == b_pos.y + 7) ||
+            (snake_posb8.y + 2 == b_pos.y + 7) ||
+            (snake_posb9.y + 2 == b_pos.y + 7) ||
+            (snake_posb10.y + 2 == b_pos.y + 7) ||
+            (snake_posb11.y + 2 == b_pos.y + 7) ||
+            (snake_posb12.y + 2 == b_pos.y + 7) ||
+            (snake_posb13.y + 2 == b_pos.y + 7) ||
+            (snake_posb14.y + 2 == b_pos.y + 7) ||
+            (snake_posb15.y + 2 == b_pos.y + 7) ||
+            (snake_pos.y + 2 == b_pos.y + 8) ||
+            (snake_posb1.y + 2 == b_pos.y + 8) ||
+            (snake_posb2.y + 2 == b_pos.y + 8) ||
+            (snake_posb3.y + 2 == b_pos.y + 8) ||
+            (snake_posb4.y + 2 == b_pos.y + 8) ||
+            (snake_posb5.y + 2 == b_pos.y + 8) ||
+            (snake_posb6.y + 2 == b_pos.y + 8) ||
+            (snake_posb7.y + 2 == b_pos.y + 8) ||
+            (snake_posb8.y + 2 == b_pos.y + 8) ||
+            (snake_posb9.y + 2 == b_pos.y + 8) ||
+            (snake_posb10.y + 2 ==b_pos.y + 8) ||
+            (snake_posb11.y + 2 == b_pos.y + 8) ||
+            (snake_posb12.y + 2 == b_pos.y + 8) ||
+            (snake_posb13.y + 2 == b_pos.y + 8) ||
+            (snake_posb14.y + 2 == b_pos.y + 8) ||
+            (snake_posb15.y + 2 == b_pos.y + 8) ||
+            (snake_pos.y + 2 == b_pos.y + 9) ||
+            (snake_posb1.y + 2 == b_pos.y + 9) ||
+            (snake_posb2.y + 2 == b_pos.y + 9) ||
+            (snake_posb3.y + 2 == b_pos.y + 9) ||
+            (snake_posb4.y + 2 == b_pos.y + 9) ||
+            (snake_posb5.y + 2 == b_pos.y + 9) ||
+            (snake_posb6.y + 2 == b_pos.y + 9) ||
+            (snake_posb7.y + 2 == b_pos.y + 9) ||
+            (snake_posb8.y + 2 == b_pos.y + 9) ||
+            (snake_posb9.y + 2 == b_pos.y + 9) ||
+            (snake_posb10.y + 2 ==b_pos.y + 9) ||
+            (snake_posb11.y + 2 == b_pos.y + 9) ||
+            (snake_posb12.y + 2 == b_pos.y + 9) ||
+            (snake_posb13.y + 2 == b_pos.y + 9) ||
+            (snake_posb14.y + 2 == b_pos.y + 9) ||
+            (snake_posb15.y + 2 == b_pos.y + 9) ||
+            (snake_pos.y + 2 == b_pos.y + 10) ||
+            (snake_posb1.y + 2 == b_pos.y + 10) ||
+            (snake_posb2.y + 2 == b_pos.y + 10) ||
+            (snake_posb3.y + 2 == b_pos.y + 10) ||
+            (snake_posb4.y + 2 == b_pos.y + 10) ||
+            (snake_posb5.y + 2 == b_pos.y + 10) ||
+            (snake_posb6.y + 2 == b_pos.y + 10) ||
+            (snake_posb7.y + 2 == b_pos.y + 10) ||
+            (snake_posb8.y + 2 == b_pos.y + 10) ||
+            (snake_posb9.y + 2 == b_pos.y + 10) ||
+            (snake_posb10.y + 2 ==b_pos.y + 10) ||
+            (snake_posb11.y + 2 == b_pos.y + 10) ||
+            (snake_posb12.y + 2 == b_pos.y + 10) ||
+            (snake_posb13.y + 2 == b_pos.y + 10) ||
+            (snake_posb14.y + 2 == b_pos.y + 10) ||
+            (snake_posb15.y + 2 == b_pos.y + 10)) &&
+            /*(snake_pos.y + 2 == b_pos.y + 11) ||
+            (snake_posb1.y + 2 == b_pos.y + 11) ||
+            (snake_posb2.y + 2 == b_pos.y + 11) ||
+            (snake_posb3.y + 2 == b_pos.y + 11) ||
+            (snake_posb4.y + 2 == b_pos.y + 11) ||
+            (snake_posb5.y + 2 == b_pos.y + 11) ||
+            (snake_posb6.y + 2 == b_pos.y + 11) ||
+            (snake_posb7.y + 2 == b_pos.y + 11) ||
+            (snake_posb8.y + 2 == b_pos.y + 11) ||
+            (snake_posb9.y + 2 == b_pos.y + 11) ||
+            (snake_posb10.y + 2 ==b_pos.y + 11) ||
+            (snake_posb11.y + 2 == b_pos.y + 11) ||
+            (snake_posb12.y + 2 == b_pos.y + 11) ||
+            (snake_posb13.y + 2 == b_pos.y + 11) ||
+            (snake_posb14.y + 2 == b_pos.y + 11) ||
+            (snake_posb15.y + 2 == b_pos.y + 11) ||
+            (snake_pos.y + 2 == b_pos.y + 12) ||
+            (snake_posb1.y + 2 == b_pos.y + 12) ||
+            (snake_posb2.y + 2 == b_pos.y + 12) ||
+            (snake_posb3.y + 2 == b_pos.y + 12) ||
+            (snake_posb4.y + 2 == b_pos.y + 12) ||
+            (snake_posb5.y + 2 == b_pos.y + 12) ||
+            (snake_posb6.y + 2 == b_pos.y + 12) ||
+            (snake_posb7.y + 2 == b_pos.y + 12) ||
+            (snake_posb8.y + 2 == b_pos.y + 12) ||
+            (snake_posb9.y + 2 == b_pos.y + 12) ||
+            (snake_posb10.y + 2 ==b_pos.y + 12) ||
+            (snake_posb11.y + 2 == b_pos.y + 12) ||
+            (snake_posb12.y + 2 == b_pos.y + 12) ||
+            (snake_posb13.y + 2 == b_pos.y + 12) ||
+            (snake_posb14.y + 2 == b_pos.y + 12) ||
+            (snake_posb15.y + 2 == b_pos.y + 12)) &&*/
+            ((snake_pos.x == b_pos.x + 19) ||  //E
+            (snake_posb1.x == b_pos.y + 19) ||
+            (snake_posb2.x == b_pos.y + 19) ||
+            (snake_posb3.x == b_pos.y + 19) ||
+            (snake_posb4.x == b_pos.y + 19) ||
+            (snake_posb5.x == b_pos.y + 19) ||
+            (snake_posb6.x == b_pos.y + 19) ||
+            (snake_posb7.x == b_pos.y + 19) ||
+            (snake_posb8.x == b_pos.y + 19) ||
+            (snake_posb9.x == b_pos.y + 19) ||
+            (snake_posb10.x == b_pos.y + 19) ||
+            (snake_posb11.x == b_pos.y + 19) ||
+            (snake_posb12.x == b_pos.y + 19) ||
+            (snake_posb13.x == b_pos.y + 19) ||
+            (snake_posb14.x == b_pos.y + 19) ||
+            (snake_posb15.x == b_pos.y + 19) ||
+            (snake_pos.x == b_pos.x + 51) ||  //E
+            (snake_posb1.x == b_pos.y + 51) ||
+            (snake_posb2.x == b_pos.y + 51) ||
+            (snake_posb3.x == b_pos.y + 51) ||
+            (snake_posb4.x == b_pos.y + 51) ||
+            (snake_posb5.x == b_pos.y + 51) ||
+            (snake_posb6.x == b_pos.y + 51) ||
+            (snake_posb7.x == b_pos.y + 51) ||
+            (snake_posb8.x == b_pos.y + 51) ||
+            (snake_posb9.x == b_pos.y + 51) ||
+            (snake_posb10.x == b_pos.y + 51) ||
+            (snake_posb11.x == b_pos.y + 51) ||
+            (snake_posb12.x == b_pos.y + 51) ||
+            (snake_posb13.x == b_pos.y + 51) ||
+            (snake_posb14.x == b_pos.y + 51) ||
+            (snake_posb15.x == b_pos.y + 51) ||
+            (snake_pos.x == b_pos.x + 83) ||  //E
+            (snake_posb1.x == b_pos.y + 83) ||
+            (snake_posb2.x == b_pos.y + 83) ||
+            (snake_posb3.x == b_pos.y + 83) ||
+            (snake_posb4.x == b_pos.y + 83) ||
+            (snake_posb5.x == b_pos.y + 83) ||
+            (snake_posb6.x == b_pos.y + 83) ||
+            (snake_posb7.x == b_pos.y + 83) ||
+            (snake_posb8.x == b_pos.y + 83) ||
+            (snake_posb9.x == b_pos.y + 83) ||
+            (snake_posb10.x == b_pos.y + 83) ||
+            (snake_posb11.x == b_pos.y + 83) ||
+            (snake_posb12.x == b_pos.y + 83) ||
+            (snake_posb13.x == b_pos.y + 83) ||
+            (snake_posb14.x == b_pos.y + 83) ||
+            (snake_posb15.x == b_pos.y + 83) ||
+            (snake_pos.x + 1 == b_pos.x + 19) ||  //E
+            (snake_posb1.x + 1 == b_pos.y + 19) ||
+            (snake_posb2.x + 1 == b_pos.y + 19) ||
+            (snake_posb3.x + 1 == b_pos.y + 19) ||
+            (snake_posb4.x + 1 == b_pos.y + 19) ||
+            (snake_posb5.x + 1 == b_pos.y + 19) ||
+            (snake_posb6.x + 1 == b_pos.y + 19) ||
+            (snake_posb7.x + 1 == b_pos.y + 19) ||
+            (snake_posb8.x + 1 == b_pos.y + 19) ||
+            (snake_posb9.x + 1 == b_pos.y + 19) ||
+            (snake_posb10.x + 1 == b_pos.y + 19) ||
+            (snake_posb11.x + 1 == b_pos.y + 19) ||
+            (snake_posb12.x + 1 == b_pos.y + 19) ||
+            (snake_posb13.x + 1 == b_pos.y + 19) ||
+            (snake_posb14.x + 1 == b_pos.y + 19) ||
+            (snake_posb15.x + 1 == b_pos.y + 19) ||
+            (snake_pos.x + 1 == b_pos.x + 51) ||  //E
+            (snake_posb1.x + 1 == b_pos.y + 51) ||
+            (snake_posb2.x + 1 == b_pos.y + 51) ||
+            (snake_posb3.x + 1 == b_pos.y + 51) ||
+            (snake_posb4.x + 1 == b_pos.y + 51) ||
+            (snake_posb5.x + 1 == b_pos.y + 51) ||
+            (snake_posb6.x + 1 == b_pos.y + 51) ||
+            (snake_posb7.x + 1 == b_pos.y + 51) ||
+            (snake_posb8.x + 1 == b_pos.y + 51) ||
+            (snake_posb9.x + 1 == b_pos.y + 51) ||
+            (snake_posb10.x + 1 == b_pos.y + 51) ||
+            (snake_posb11.x + 1 == b_pos.y + 51) ||
+            (snake_posb12.x + 1 == b_pos.y + 51) ||
+            (snake_posb13.x + 1 == b_pos.y + 51) ||
+            (snake_posb14.x + 1 == b_pos.y + 51) ||
+            (snake_posb15.x + 1 == b_pos.y + 51) ||
+            (snake_pos.x + 1 == b_pos.x + 83) ||  //E
+            (snake_posb1.x + 1 == b_pos.y + 83) ||
+            (snake_posb2.x + 1 == b_pos.y + 83) ||
+            (snake_posb3.x + 1 == b_pos.y + 83) ||
+            (snake_posb4.x + 1 == b_pos.y + 83) ||
+            (snake_posb5.x + 1 == b_pos.y + 83) ||
+            (snake_posb6.x + 1 == b_pos.y + 83) ||
+            (snake_posb7.x + 1 == b_pos.y + 83) ||
+            (snake_posb8.x + 1 == b_pos.y + 83) ||
+            (snake_posb9.x + 1 == b_pos.y + 83) ||
+            (snake_posb10.x + 1 == b_pos.y + 83) ||
+            (snake_posb11.x + 1 == b_pos.y + 83) ||
+            (snake_posb12.x + 1 == b_pos.y + 83) ||
+            (snake_posb13.x + 1 == b_pos.y + 83) ||
+            (snake_posb14.x + 1 == b_pos.y + 83) ||
+            (snake_posb15.x + 1 == b_pos.y + 83) ||
+            (snake_pos.x + 2 == b_pos.x + 19) ||  //E
+            (snake_posb1.x + 2 == b_pos.y + 19) ||
+            (snake_posb2.x + 2 == b_pos.y + 19) ||
+            (snake_posb3.x + 2 == b_pos.y + 19) ||
+            (snake_posb4.x + 2 == b_pos.y + 19) ||
+            (snake_posb5.x + 2 == b_pos.y + 19) ||
+            (snake_posb6.x + 2 == b_pos.y + 19) ||
+            (snake_posb7.x + 2 == b_pos.y + 19) ||
+            (snake_posb8.x + 2 == b_pos.y + 19) ||
+            (snake_posb9.x + 2 == b_pos.y + 19) ||
+            (snake_posb10.x + 2 == b_pos.y + 19) ||
+            (snake_posb11.x + 2 == b_pos.y + 19) ||
+            (snake_posb12.x + 2 == b_pos.y + 19) ||
+            (snake_posb13.x + 2 == b_pos.y + 19) ||
+            (snake_posb14.x + 2 == b_pos.y + 19) ||
+            (snake_posb15.x + 2 == b_pos.y + 19) ||
+            (snake_pos.x + 2 == b_pos.x + 51) ||  //E
+            (snake_posb1.x + 2 == b_pos.y + 51) ||
+            (snake_posb2.x + 2 == b_pos.y + 51) ||
+            (snake_posb3.x + 2 == b_pos.y + 51) ||
+            (snake_posb4.x + 2 == b_pos.y + 51) ||
+            (snake_posb5.x + 2 == b_pos.y + 51) ||
+            (snake_posb6.x + 2 == b_pos.y + 51) ||
+            (snake_posb7.x + 2 == b_pos.y + 51) ||
+            (snake_posb8.x + 2 == b_pos.y + 51) ||
+            (snake_posb9.x + 2 == b_pos.y + 51) ||
+            (snake_posb10.x + 2 == b_pos.y + 51) ||
+            (snake_posb11.x + 2 == b_pos.y + 51) ||
+            (snake_posb12.x + 2 == b_pos.y + 51) ||
+            (snake_posb13.x + 2 == b_pos.y + 51) ||
+            (snake_posb14.x + 2 == b_pos.y + 51) ||
+            (snake_posb15.x + 2 == b_pos.y + 51) ||
+            (snake_pos.x + 2 == b_pos.x + 83) ||  //E
+            (snake_posb1.x + 2 == b_pos.y + 83) ||
+            (snake_posb2.x + 2 == b_pos.y + 83) ||
+            (snake_posb3.x + 2 == b_pos.y + 83) ||
+            (snake_posb4.x + 2 == b_pos.y + 83) ||
+            (snake_posb5.x + 2 == b_pos.y + 83) ||
+            (snake_posb6.x + 2 == b_pos.y + 83) ||
+            (snake_posb7.x + 2 == b_pos.y + 83) ||
+            (snake_posb8.x + 2 == b_pos.y + 83) ||
+            (snake_posb9.x + 2 == b_pos.y + 83) ||
+            (snake_posb10.x + 2 == b_pos.y + 83) ||
+            (snake_posb11.x + 2 == b_pos.y + 83) ||
+            (snake_posb12.x + 2 == b_pos.y + 83) ||
+            (snake_posb13.x + 2 == b_pos.y + 83) ||
+            (snake_posb14.x + 2 == b_pos.y + 83) ||
+            (snake_posb15.x + 2 == b_pos.y + 83))&&(snake_pos.x > snake_posb1.x > snake_posb2.x > snake_posb3.x > snake_posb4.x > snake_posb5.x > snake_posb6.x > snake_posb7.x > snake_posb8.x > snake_posb9.x > snake_posb10.x > snake_posb11.x > snake_posb12.x > snake_posb13.x > snake_posb14.x > snake_posb15.x))
+        ) {
+            //add some code that it doesn't move
+            if (d == E) {
+                speed = 0;
+            }
+        else    {
+            speed = 1;
+        }
+    }
+}
\ No newline at end of file