File black-box-1.4.7-range.patch of Package black-box

--- src/blackbox.c
+++ src/blackbox.c
@@ -408,29 +408,29 @@
     if (dir==0) 
     {
       if (y==0) {end=1;} else
-      if (real[x-1][y-1]==1) {dir=1;} else
-      if (real[x][y-1]==1) {dir=3;}
+      if (x!=0&&real[x-1][y-1]==1) {dir=1;} else
+      if (x!=11&&real[x][y-1]==1) {dir=3;}
       else {y--;}
     }
     if (dir==1)
     {
-      if (x==12) {end=1;} else
-      if (real[x][y]==1) {dir=0;} else
-      if (real[x][y-1]==1) {dir=2;}
+      if (x==11) {end=1;} else
+      if (y!=9&&real[x][y]==1) {dir=0;} else
+      if (y!=0&&real[x][y-1]==1) {dir=2;}
       else {x++;}
     }
     if (dir==2)
     {
       if (y==9) {end=1;} else
-      if (real[x][y]==1) {dir=3;} else
-      if (real[x-1][y]==1) {dir=1;}
+      if (x!=11&&real[x][y]==1) {dir=3;} else
+      if (x!=0&&real[x-1][y]==1) {dir=1;}
       else {y++;}
     }
     if (dir==3)
     {
       if (x==0) {end=1;} else
-      if (real[x-1][y]==1) {dir=0;} else
-      if (real[x-1][y-1]==1) {dir=2;}
+      if (y!=9&&real[x-1][y]==1) {dir=0;} else
+      if (y!=0&&real[x-1][y-1]==1) {dir=2;}
       else {x--;}
     }
     if ((x>30)||(y>20)||(y<0)||(y<0))
@@ -457,29 +457,29 @@
     if (dir==0) 
     {
       if (y==0) {end=1;} else
-      if (think[x-1][y-1]==1) {dir=1;} else
-      if (think[x][y-1]==1) {dir=3;}
+      if (x!=0&&think[x-1][y-1]==1) {dir=1;} else
+      if (x!=11&&think[x][y-1]==1) {dir=3;}
       else {y--;}
     }
     if (dir==1)
     {
-      if (x==12) {end=1;} else
-      if (think[x][y]==1) {dir=0;} else
-      if (think[x][y-1]==1) {dir=2;}
+      if (x==11) {end=1;} else
+      if (y!=9&&think[x][y]==1) {dir=0;} else
+      if (y!=0&&think[x][y-1]==1) {dir=2;}
       else {x++;}
     }
     if (dir==2)
     {
       if (y==9) {end=1;} else
-      if (think[x][y]==1) {dir=3;} else
-      if (think[x-1][y]==1) {dir=1;}
+      if (x!=11&&think[x][y]==1) {dir=3;} else
+      if (x!=0&&think[x-1][y]==1) {dir=1;}
       else {y++;}
     }
     if (dir==3)
     {
       if (x==0) {end=1;} else
-      if (think[x-1][y]==1) {dir=0;} else
-      if (think[x-1][y-1]==1) {dir=2;}
+      if (y!=9&&think[x-1][y]==1) {dir=0;} else
+      if (y!=0&&think[x-1][y-1]==1) {dir=2;}
       else {x--;}
     }
     if ((x>30)||(y>20)||(y<0)||(y<0))
@@ -581,29 +581,29 @@
     if (dir==0) 
     {
       if (y==0) {end=1;} else
-      if (real[x-1][y-1]==1) {dir=1;} else
-      if (real[x][y-1]==1) {dir=3;}
+      if (x!=0&&real[x-1][y-1]==1) {dir=1;} else
+      if (x!=11&&real[x][y-1]==1) {dir=3;}
       else {y--;}
     }
     if (dir==1)
     {
-      if (x==12) {end=1;} else
-      if (real[x][y]==1) {dir=0;} else
-      if (real[x][y-1]==1) {dir=2;}
+      if (x==11) {end=1;} else
+      if (y!=9&&real[x][y]==1) {dir=0;} else
+      if (y!=0&&real[x][y-1]==1) {dir=2;}
       else {x++;}
     }
     if (dir==2)
     {
       if (y==9) {end=1;} else
-      if (real[x][y]==1) {dir=3;} else
-      if (real[x-1][y]==1) {dir=1;}
+      if (x!=11&&real[x][y]==1) {dir=3;} else
+      if (x!=0&&real[x-1][y]==1) {dir=1;}
       else {y++;}
     }
     if (dir==3)
     {
       if (x==0) {end=1;} else
-      if (real[x-1][y]==1) {dir=0;} else
-      if (real[x-1][y-1]==1) {dir=2;}
+      if (y!=9&&real[x-1][y]==1) {dir=0;} else
+      if (y!=0&&real[x-1][y-1]==1) {dir=2;}
       else {x--;}
     }
     if ((x>30)||(y>20)||(y<0)||(y<0))
@@ -834,15 +834,15 @@
   {
 //block highlighting
   case SDL_BUTTON(3):
-    if ((light[div(mouse_x+25,50).quot-2][div(mouse_y+25,50).quot-2]==0)
-       &&(div(mouse_x+25,50).quot>1)&&(div(mouse_y+25,50).quot>1)
-       &&(div(mouse_x+25,50).quot<13)&&(div(mouse_y+25,50).quot<11))
+    if ((div(mouse_x+25,50).quot>1)&&(div(mouse_y+25,50).quot>1)
+       &&(div(mouse_x+25,50).quot<13)&&(div(mouse_y+25,50).quot<11)
+       &&(light[div(mouse_x+25,50).quot-2][div(mouse_y+25,50).quot-2]==0))
     {
       light[div(mouse_x+25,50).quot-2][div(mouse_y+25,50).quot-2]=1;
     }else
-    if ((light[div(mouse_x+25,50).quot-2][div(mouse_y+25,50).quot-2]==1)
-       &&(div(mouse_x+25,50).quot>1)&&(div(mouse_y+25,50).quot>1)
-       &&(div(mouse_x+25,50).quot<13)&&(div(mouse_y+25,50).quot<11))
+    if ((div(mouse_x+25,50).quot>1)&&(div(mouse_y+25,50).quot>1)
+       &&(div(mouse_x+25,50).quot<13)&&(div(mouse_y+25,50).quot<11)
+       &&(light[div(mouse_x+25,50).quot-2][div(mouse_y+25,50).quot-2]==1))
     {
       light[div(mouse_x+25,50).quot-2][div(mouse_y+25,50).quot-2]=0;
     }
@@ -889,15 +889,15 @@
   break;
   case SDL_BUTTON(1):
 //think
-    if ((think[div(mouse_x,50).quot-2][div(mouse_y,50).quot-2]==0)
-       &&(div(mouse_x,50).quot>1)&&(div(mouse_y,50).quot>1)
-       &&(div(mouse_x,50).quot<12)&&(div(mouse_y,50).quot<10))
+    if ((div(mouse_x,50).quot>1)&&(div(mouse_y,50).quot>1)
+       &&(div(mouse_x,50).quot<12)&&(div(mouse_y,50).quot<10)
+       &&(think[div(mouse_x,50).quot-2][div(mouse_y,50).quot-2]==0))
     {
       think[div(mouse_x,50).quot-2][div(mouse_y,50).quot-2]=1;
     } else
-    if ((think[div(mouse_x,50).quot-2][div(mouse_y,50).quot-2]==1)
-       &&(div(mouse_x,50).quot>1)&&(div(mouse_y,50).quot>1)
-       &&(div(mouse_x,50).quot<12)&&(div(mouse_y,50).quot<10))
+    if ((div(mouse_x,50).quot>1)&&(div(mouse_y,50).quot>1)
+       &&(div(mouse_x,50).quot<12)&&(div(mouse_y,50).quot<10)
+       &&(think[div(mouse_x,50).quot-2][div(mouse_y,50).quot-2]==1))
     {
       think[div(mouse_x,50).quot-2][div(mouse_y,50).quot-2]=0;
     }
openSUSE Build Service is sponsored by