- Cave[y][x] = Ystone_sB;
- Cave[y+1][x] = Ystone_s;
- Next[y][x] = Xblank;
- Next[y+1][x] = Xstone_fall;
- goto loop;
-
- case Xnut:
- case Xnut_pause:
- Cave[y+1][x] = Yemerald_stone;
- Next[y][x] = Xstone;
- Next[y+1][x] = Xemerald;
- play_element_sound(x, y, SAMPLE_crack, Xnut);
- score += lev.nut_score;
- goto loop;
-
- case Xbug_n:
- case Xbug_e:
- case Xbug_s:
- case Xbug_w:
- case Xbug_gon:
- case Xbug_goe:
- case Xbug_gos:
- case Xbug_gow:
- Cave[y][x] = Ystone_sB;
- Cave[y+1][x] = Ybug_stone;
- Next[y+1][x] = Znormal;
- Boom[y][x-1] = Xemerald;
- Boom[y][x] = Xemerald;
- Boom[y][x+1] = Xemerald;
- Boom[y+1][x-1] = Xemerald;
- Boom[y+1][x] = Xdiamond;
- Boom[y+1][x+1] = Xemerald;
- Boom[y+2][x-1] = Xemerald;
- Boom[y+2][x] = Xemerald;
- Boom[y+2][x+1] = Xemerald;
+ Cave[y][x] = Ystone_sB;
+ Cave[y+1][x] = Ystone_s;
+ Next[y][x] = Xblank;
+ Next[y+1][x] = Xstone_fall;
+ goto loop;
+
+ case Xnut:
+ case Xnut_pause:
+ Cave[y+1][x] = Ynut_stone;
+ Next[y][x] = Xstone;
+ Next[y+1][x] = Xemerald;
+ play_element_sound(x, y, SOUND_crack, Xnut);
+ score += lev.nut_score;
+ goto loop;
+
+ case Xbug_1_n:
+ case Xbug_1_e:
+ case Xbug_1_s:
+ case Xbug_1_w:
+ case Xbug_2_n:
+ case Xbug_2_e:
+ case Xbug_2_s:
+ case Xbug_2_w:
+ Cave[y][x] = Ystone_sB;
+ Cave[y+1][x] = Ybug_stone;
+ Next[y+1][x] = Znormal;
+ Boom[y][x-1] = Xemerald;
+ Boom[y][x] = Xemerald;
+ Boom[y][x+1] = Xemerald;
+ Boom[y+1][x-1] = Xemerald;
+ Boom[y+1][x] = Xdiamond;
+ Boom[y+1][x+1] = Xemerald;
+ Boom[y+2][x-1] = Xemerald;
+ Boom[y+2][x] = Xemerald;
+ Boom[y+2][x+1] = Xemerald;
- case 4: /* SE,NW,E,NE,SW,W,N,S */
- temp= lev.android_array[Cave[y+1][x+1]]; if (temp != Xblank) break;
- temp= lev.android_array[Cave[y-1][x-1]]; if (temp != Xblank) break;
- temp= lev.android_array[Cave[y][x+1]]; if (temp != Xblank) break;
- temp= lev.android_array[Cave[y-1][x+1]]; if (temp != Xblank) break;
- temp= lev.android_array[Cave[y+1][x-1]]; if (temp != Xblank) break;
- temp= lev.android_array[Cave[y][x-1]]; if (temp != Xblank) break;
- temp= lev.android_array[Cave[y-1][x]]; if (temp != Xblank) break;
- temp= lev.android_array[Cave[y+1][x]]; if (temp != Xblank) break;
- goto android_move;
-
- case 5: /* NE,W,SE,SW,S,N,E,NW */
- temp= lev.android_array[Cave[y-1][x+1]]; if (temp != Xblank) break;
- temp= lev.android_array[Cave[y][x-1]]; if (temp != Xblank) break;
- temp= lev.android_array[Cave[y+1][x+1]]; if (temp != Xblank) break;
- temp= lev.android_array[Cave[y+1][x-1]]; if (temp != Xblank) break;
- temp= lev.android_array[Cave[y+1][x]]; if (temp != Xblank) break;
- temp= lev.android_array[Cave[y-1][x]]; if (temp != Xblank) break;
- temp= lev.android_array[Cave[y][x+1]]; if (temp != Xblank) break;
- temp= lev.android_array[Cave[y-1][x-1]]; if (temp != Xblank) break;
- goto android_move;
-
- case 6: /* E,N,SW,S,NW,NE,SE,W */
- temp= lev.android_array[Cave[y][x+1]]; if (temp != Xblank) break;
- temp= lev.android_array[Cave[y-1][x]]; if (temp != Xblank) break;
- temp= lev.android_array[Cave[y+1][x-1]]; if (temp != Xblank) break;
- temp= lev.android_array[Cave[y+1][x]]; if (temp != Xblank) break;
- temp= lev.android_array[Cave[y-1][x-1]]; if (temp != Xblank) break;
- temp= lev.android_array[Cave[y-1][x+1]]; if (temp != Xblank) break;
- temp= lev.android_array[Cave[y+1][x+1]]; if (temp != Xblank) break;
- temp= lev.android_array[Cave[y][x-1]]; if (temp != Xblank) break;
- goto android_move;
-
- case 7: /* W,SW,NW,N,E,SE,NE,S */
- temp= lev.android_array[Cave[y][x-1]]; if (temp != Xblank) break;
- temp= lev.android_array[Cave[y+1][x-1]]; if (temp != Xblank) break;
- temp= lev.android_array[Cave[y-1][x-1]]; if (temp != Xblank) break;
- temp= lev.android_array[Cave[y-1][x]]; if (temp != Xblank) break;
- temp= lev.android_array[Cave[y][x+1]]; if (temp != Xblank) break;
- temp= lev.android_array[Cave[y+1][x+1]]; if (temp != Xblank) break;
- temp= lev.android_array[Cave[y-1][x+1]]; if (temp != Xblank) break;
- temp= lev.android_array[Cave[y+1][x]]; if (temp != Xblank) break;
- goto android_move;
- }
-
- Next[y][x] = temp; /* the item we chose to clone */
- play_element_sound(x, y, SAMPLE_android_clone, temp);
-
- switch (RANDOM & 7)
+ case 4: /* SE,NW,E,NE,SW,W,N,S */
+ temp= lev.android_array[Cave[y+1][x+1]]; if (temp != Xblank) break;
+ temp= lev.android_array[Cave[y-1][x-1]]; if (temp != Xblank) break;
+ temp= lev.android_array[Cave[y][x+1]]; if (temp != Xblank) break;
+ temp= lev.android_array[Cave[y-1][x+1]]; if (temp != Xblank) break;
+ temp= lev.android_array[Cave[y+1][x-1]]; if (temp != Xblank) break;
+ temp= lev.android_array[Cave[y][x-1]]; if (temp != Xblank) break;
+ temp= lev.android_array[Cave[y-1][x]]; if (temp != Xblank) break;
+ temp= lev.android_array[Cave[y+1][x]]; if (temp != Xblank) break;
+ goto android_move;
+
+ case 5: /* NE,W,SE,SW,S,N,E,NW */
+ temp= lev.android_array[Cave[y-1][x+1]]; if (temp != Xblank) break;
+ temp= lev.android_array[Cave[y][x-1]]; if (temp != Xblank) break;
+ temp= lev.android_array[Cave[y+1][x+1]]; if (temp != Xblank) break;
+ temp= lev.android_array[Cave[y+1][x-1]]; if (temp != Xblank) break;
+ temp= lev.android_array[Cave[y+1][x]]; if (temp != Xblank) break;
+ temp= lev.android_array[Cave[y-1][x]]; if (temp != Xblank) break;
+ temp= lev.android_array[Cave[y][x+1]]; if (temp != Xblank) break;
+ temp= lev.android_array[Cave[y-1][x-1]]; if (temp != Xblank) break;
+ goto android_move;
+
+ case 6: /* E,N,SW,S,NW,NE,SE,W */
+ temp= lev.android_array[Cave[y][x+1]]; if (temp != Xblank) break;
+ temp= lev.android_array[Cave[y-1][x]]; if (temp != Xblank) break;
+ temp= lev.android_array[Cave[y+1][x-1]]; if (temp != Xblank) break;
+ temp= lev.android_array[Cave[y+1][x]]; if (temp != Xblank) break;
+ temp= lev.android_array[Cave[y-1][x-1]]; if (temp != Xblank) break;
+ temp= lev.android_array[Cave[y-1][x+1]]; if (temp != Xblank) break;
+ temp= lev.android_array[Cave[y+1][x+1]]; if (temp != Xblank) break;
+ temp= lev.android_array[Cave[y][x-1]]; if (temp != Xblank) break;
+ goto android_move;
+
+ case 7: /* W,SW,NW,N,E,SE,NE,S */
+ temp= lev.android_array[Cave[y][x-1]]; if (temp != Xblank) break;
+ temp= lev.android_array[Cave[y+1][x-1]]; if (temp != Xblank) break;
+ temp= lev.android_array[Cave[y-1][x-1]]; if (temp != Xblank) break;
+ temp= lev.android_array[Cave[y-1][x]]; if (temp != Xblank) break;
+ temp= lev.android_array[Cave[y][x+1]]; if (temp != Xblank) break;
+ temp= lev.android_array[Cave[y+1][x+1]]; if (temp != Xblank) break;
+ temp= lev.android_array[Cave[y-1][x+1]]; if (temp != Xblank) break;
+ temp= lev.android_array[Cave[y+1][x]]; if (temp != Xblank) break;
+ goto android_move;
+ }
+
+ Next[y][x] = temp; /* the item we chose to clone */
+ play_element_sound(x, y, SOUND_android_clone, temp);
+
+ switch (RANDOM & 7)
- case 0: /* S,NE,W,NW,SE,E,SW,N */
- if (Cave[y+1][x] == Xblank) goto android_s;
- if (Cave[y-1][x+1] == Xblank) goto android_ne;
- if (Cave[y][x-1] == Xblank) goto android_w;
- if (Cave[y-1][x-1] == Xblank) goto android_nw;
- if (Cave[y+1][x+1] == Xblank) goto android_se;
- if (Cave[y][x+1] == Xblank) goto android_e;
- if (Cave[y+1][x-1] == Xblank) goto android_sw;
- if (Cave[y-1][x] == Xblank) goto android_n;
- goto android_move;
-
- case 1: /* NW,SE,N,S,NE,SW,E,W */
- if (Cave[y-1][x-1] == Xblank) goto android_nw;
- if (Cave[y+1][x+1] == Xblank) goto android_se;
- if (Cave[y-1][x] == Xblank) goto android_n;
- if (Cave[y+1][x] == Xblank) goto android_s;
- if (Cave[y-1][x+1] == Xblank) goto android_ne;
- if (Cave[y+1][x-1] == Xblank) goto android_sw;
- if (Cave[y][x+1] == Xblank) goto android_e;
- if (Cave[y][x-1] == Xblank) goto android_w;
- goto android_move;
-
- case 2: /* SW,E,S,W,N,NW,SE,NE */
- if (Cave[y+1][x-1] == Xblank) goto android_sw;
- if (Cave[y][x+1] == Xblank) goto android_e;
- if (Cave[y+1][x] == Xblank) goto android_s;
- if (Cave[y][x-1] == Xblank) goto android_w;
- if (Cave[y-1][x] == Xblank) goto android_n;
- if (Cave[y-1][x-1] == Xblank) goto android_nw;
- if (Cave[y+1][x+1] == Xblank) goto android_se;
- if (Cave[y-1][x+1] == Xblank) goto android_ne;
- goto android_move;
-
- case 3: /* N,SE,NE,E,W,S,NW,SW */
- if (Cave[y-1][x] == Xblank) goto android_n;
- if (Cave[y+1][x+1] == Xblank) goto android_se;
- if (Cave[y-1][x+1] == Xblank) goto android_ne;
- if (Cave[y][x+1] == Xblank) goto android_e;
- if (Cave[y][x-1] == Xblank) goto android_w;
- if (Cave[y+1][x] == Xblank) goto android_s;
- if (Cave[y-1][x-1] == Xblank) goto android_nw;
- if (Cave[y+1][x-1] == Xblank) goto android_sw;
- goto android_move;
-
- case 4: /* SE,NW,E,NE,SW,W,N,S */
- if (Cave[y+1][x+1] == Xblank) goto android_se;
- if (Cave[y-1][x-1] == Xblank) goto android_nw;
- if (Cave[y][x+1] == Xblank) goto android_e;
- if (Cave[y-1][x+1] == Xblank) goto android_ne;
- if (Cave[y+1][x-1] == Xblank) goto android_sw;
- if (Cave[y][x-1] == Xblank) goto android_w;
- if (Cave[y-1][x] == Xblank) goto android_n;
- if (Cave[y+1][x] == Xblank) goto android_s;
- goto android_move;
-
- case 5: /* NE,W,SE,SW,S,N,E,NW */
- if (Cave[y-1][x+1] == Xblank) goto android_ne;
- if (Cave[y][x-1] == Xblank) goto android_w;
- if (Cave[y+1][x+1] == Xblank) goto android_se;
- if (Cave[y+1][x-1] == Xblank) goto android_sw;
- if (Cave[y+1][x] == Xblank) goto android_s;
- if (Cave[y-1][x] == Xblank) goto android_n;
- if (Cave[y][x+1] == Xblank) goto android_e;
- if (Cave[y-1][x-1] == Xblank) goto android_nw;
- goto android_move;
-
- case 6: /* E,N,SW,S,NW,NE,SE,W */
- if (Cave[y][x+1] == Xblank) goto android_e;
- if (Cave[y-1][x] == Xblank) goto android_n;
- if (Cave[y+1][x-1] == Xblank) goto android_sw;
- if (Cave[y+1][x] == Xblank) goto android_s;
- if (Cave[y-1][x-1] == Xblank) goto android_nw;
- if (Cave[y-1][x+1] == Xblank) goto android_ne;
- if (Cave[y+1][x+1] == Xblank) goto android_se;
- if (Cave[y][x-1] == Xblank) goto android_w;
- goto android_move;
-
- case 7: /* W,SW,NW,N,E,SE,NE,S */
- if (Cave[y][x-1] == Xblank) goto android_w;
- if (Cave[y+1][x-1] == Xblank) goto android_sw;
- if (Cave[y-1][x-1] == Xblank) goto android_nw;
- if (Cave[y-1][x] == Xblank) goto android_n;
- if (Cave[y][x+1] == Xblank) goto android_e;
- if (Cave[y+1][x+1] == Xblank) goto android_se;
- if (Cave[y-1][x+1] == Xblank) goto android_ne;
- if (Cave[y+1][x] == Xblank) goto android_s;
- goto android_move;
- }
+ case 0: /* S,NE,W,NW,SE,E,SW,N */
+ if (Cave[y+1][x] == Xblank) goto android_s;
+ if (Cave[y-1][x+1] == Xblank) goto android_ne;
+ if (Cave[y][x-1] == Xblank) goto android_w;
+ if (Cave[y-1][x-1] == Xblank) goto android_nw;
+ if (Cave[y+1][x+1] == Xblank) goto android_se;
+ if (Cave[y][x+1] == Xblank) goto android_e;
+ if (Cave[y+1][x-1] == Xblank) goto android_sw;
+ if (Cave[y-1][x] == Xblank) goto android_n;
+ goto android_move;
+
+ case 1: /* NW,SE,N,S,NE,SW,E,W */
+ if (Cave[y-1][x-1] == Xblank) goto android_nw;
+ if (Cave[y+1][x+1] == Xblank) goto android_se;
+ if (Cave[y-1][x] == Xblank) goto android_n;
+ if (Cave[y+1][x] == Xblank) goto android_s;
+ if (Cave[y-1][x+1] == Xblank) goto android_ne;
+ if (Cave[y+1][x-1] == Xblank) goto android_sw;
+ if (Cave[y][x+1] == Xblank) goto android_e;
+ if (Cave[y][x-1] == Xblank) goto android_w;
+ goto android_move;
+
+ case 2: /* SW,E,S,W,N,NW,SE,NE */
+ if (Cave[y+1][x-1] == Xblank) goto android_sw;
+ if (Cave[y][x+1] == Xblank) goto android_e;
+ if (Cave[y+1][x] == Xblank) goto android_s;
+ if (Cave[y][x-1] == Xblank) goto android_w;
+ if (Cave[y-1][x] == Xblank) goto android_n;
+ if (Cave[y-1][x-1] == Xblank) goto android_nw;
+ if (Cave[y+1][x+1] == Xblank) goto android_se;
+ if (Cave[y-1][x+1] == Xblank) goto android_ne;
+ goto android_move;
+
+ case 3: /* N,SE,NE,E,W,S,NW,SW */
+ if (Cave[y-1][x] == Xblank) goto android_n;
+ if (Cave[y+1][x+1] == Xblank) goto android_se;
+ if (Cave[y-1][x+1] == Xblank) goto android_ne;
+ if (Cave[y][x+1] == Xblank) goto android_e;
+ if (Cave[y][x-1] == Xblank) goto android_w;
+ if (Cave[y+1][x] == Xblank) goto android_s;
+ if (Cave[y-1][x-1] == Xblank) goto android_nw;
+ if (Cave[y+1][x-1] == Xblank) goto android_sw;
+ goto android_move;
+
+ case 4: /* SE,NW,E,NE,SW,W,N,S */
+ if (Cave[y+1][x+1] == Xblank) goto android_se;
+ if (Cave[y-1][x-1] == Xblank) goto android_nw;
+ if (Cave[y][x+1] == Xblank) goto android_e;
+ if (Cave[y-1][x+1] == Xblank) goto android_ne;
+ if (Cave[y+1][x-1] == Xblank) goto android_sw;
+ if (Cave[y][x-1] == Xblank) goto android_w;
+ if (Cave[y-1][x] == Xblank) goto android_n;
+ if (Cave[y+1][x] == Xblank) goto android_s;
+ goto android_move;
+
+ case 5: /* NE,W,SE,SW,S,N,E,NW */
+ if (Cave[y-1][x+1] == Xblank) goto android_ne;
+ if (Cave[y][x-1] == Xblank) goto android_w;
+ if (Cave[y+1][x+1] == Xblank) goto android_se;
+ if (Cave[y+1][x-1] == Xblank) goto android_sw;
+ if (Cave[y+1][x] == Xblank) goto android_s;
+ if (Cave[y-1][x] == Xblank) goto android_n;
+ if (Cave[y][x+1] == Xblank) goto android_e;
+ if (Cave[y-1][x-1] == Xblank) goto android_nw;
+ goto android_move;
+
+ case 6: /* E,N,SW,S,NW,NE,SE,W */
+ if (Cave[y][x+1] == Xblank) goto android_e;
+ if (Cave[y-1][x] == Xblank) goto android_n;
+ if (Cave[y+1][x-1] == Xblank) goto android_sw;
+ if (Cave[y+1][x] == Xblank) goto android_s;
+ if (Cave[y-1][x-1] == Xblank) goto android_nw;
+ if (Cave[y-1][x+1] == Xblank) goto android_ne;
+ if (Cave[y+1][x+1] == Xblank) goto android_se;
+ if (Cave[y][x-1] == Xblank) goto android_w;
+ goto android_move;
+
+ case 7: /* W,SW,NW,N,E,SE,NE,S */
+ if (Cave[y][x-1] == Xblank) goto android_w;
+ if (Cave[y+1][x-1] == Xblank) goto android_sw;
+ if (Cave[y-1][x-1] == Xblank) goto android_nw;
+ if (Cave[y-1][x] == Xblank) goto android_n;
+ if (Cave[y][x+1] == Xblank) goto android_e;
+ if (Cave[y+1][x+1] == Xblank) goto android_se;
+ if (Cave[y-1][x+1] == Xblank) goto android_ne;
+ if (Cave[y+1][x] == Xblank) goto android_s;
+ goto android_move;
+ }
- case 0: /* north west */
- if (tab_android_move[Cave[y-1][x-1]]) goto android_nw;
- if (tab_android_move[Cave[y-1][x]]) goto android_n;
- if (tab_android_move[Cave[y][x-1]]) goto android_w;
- break;
-
- case 1: /* north */
- if (tab_android_move[Cave[y-1][x]]) goto android_n;
- if (tab_android_move[Cave[y-1][x+1]]) goto android_ne;
- if (tab_android_move[Cave[y-1][x-1]]) goto android_nw;
- break;
-
- case 2: /* north east */
- if (tab_android_move[Cave[y-1][x+1]]) goto android_ne;
- if (tab_android_move[Cave[y][x+1]]) goto android_e;
- if (tab_android_move[Cave[y-1][x]]) goto android_n;
- break;
-
- case 3: /* west */
- if (tab_android_move[Cave[y][x-1]]) goto android_w;
- if (tab_android_move[Cave[y-1][x-1]]) goto android_nw;
- if (tab_android_move[Cave[y+1][x-1]]) goto android_sw;
- break;
-
- case 4: /* nowhere */
- break;
-
- case 5: /* east */
- if (tab_android_move[Cave[y][x+1]]) goto android_e;
- if (tab_android_move[Cave[y+1][x+1]]) goto android_se;
- if (tab_android_move[Cave[y-1][x+1]]) goto android_ne;
- break;
-
- case 6: /* south west */
- if (tab_android_move[Cave[y+1][x-1]]) goto android_sw;
- if (tab_android_move[Cave[y][x-1]]) goto android_w;
- if (tab_android_move[Cave[y+1][x]]) goto android_s;
- break;
-
- case 7: /* south */
- if (tab_android_move[Cave[y+1][x]]) goto android_s;
- if (tab_android_move[Cave[y+1][x-1]]) goto android_sw;
- if (tab_android_move[Cave[y+1][x+1]]) goto android_se;
- break;
-
- case 8: /* south east */
- if (tab_android_move[Cave[y+1][x+1]]) goto android_se;
- if (tab_android_move[Cave[y+1][x]]) goto android_s;
- if (tab_android_move[Cave[y][x+1]]) goto android_e;
- break;
+ case 0: /* north west */
+ if (tab_android_move[Cave[y-1][x-1]]) goto android_nw;
+ if (tab_android_move[Cave[y-1][x]]) goto android_n;
+ if (tab_android_move[Cave[y][x-1]]) goto android_w;
+ break;
+
+ case 1: /* north */
+ if (tab_android_move[Cave[y-1][x]]) goto android_n;
+ if (tab_android_move[Cave[y-1][x+1]]) goto android_ne;
+ if (tab_android_move[Cave[y-1][x-1]]) goto android_nw;
+ break;
+
+ case 2: /* north east */
+ if (tab_android_move[Cave[y-1][x+1]]) goto android_ne;
+ if (tab_android_move[Cave[y][x+1]]) goto android_e;
+ if (tab_android_move[Cave[y-1][x]]) goto android_n;
+ break;
+
+ case 3: /* west */
+ if (tab_android_move[Cave[y][x-1]]) goto android_w;
+ if (tab_android_move[Cave[y-1][x-1]]) goto android_nw;
+ if (tab_android_move[Cave[y+1][x-1]]) goto android_sw;
+ break;
+
+ case 4: /* nowhere */
+ break;
+
+ case 5: /* east */
+ if (tab_android_move[Cave[y][x+1]]) goto android_e;
+ if (tab_android_move[Cave[y+1][x+1]]) goto android_se;
+ if (tab_android_move[Cave[y-1][x+1]]) goto android_ne;
+ break;
+
+ case 6: /* south west */
+ if (tab_android_move[Cave[y+1][x-1]]) goto android_sw;
+ if (tab_android_move[Cave[y][x-1]]) goto android_w;
+ if (tab_android_move[Cave[y+1][x]]) goto android_s;
+ break;
+
+ case 7: /* south */
+ if (tab_android_move[Cave[y+1][x]]) goto android_s;
+ if (tab_android_move[Cave[y+1][x-1]]) goto android_sw;
+ if (tab_android_move[Cave[y+1][x+1]]) goto android_se;
+ break;
+
+ case 8: /* south east */
+ if (tab_android_move[Cave[y+1][x+1]]) goto android_se;
+ if (tab_android_move[Cave[y+1][x]]) goto android_s;
+ if (tab_android_move[Cave[y][x+1]]) goto android_e;
+ break;
- case 0: /* north west */
- if (tab_android_move[Cave[y-1][x-1]]) goto android_nw;
- if (tab_android_move[Cave[y][x-1]]) goto android_w;
- if (tab_android_move[Cave[y-1][x]]) goto android_n;
- break;
-
- case 1: /* north */
- if (tab_android_move[Cave[y-1][x]]) goto android_n;
- if (tab_android_move[Cave[y-1][x-1]]) goto android_nw;
- if (tab_android_move[Cave[y-1][x+1]]) goto android_ne;
- break;
-
- case 2: /* north east */
- if (tab_android_move[Cave[y-1][x+1]]) goto android_ne;
- if (tab_android_move[Cave[y-1][x]]) goto android_n;
- if (tab_android_move[Cave[y][x+1]]) goto android_e;
- break;
-
- case 3: /* west */
- if (tab_android_move[Cave[y][x-1]]) goto android_w;
- if (tab_android_move[Cave[y+1][x-1]]) goto android_sw;
- if (tab_android_move[Cave[y-1][x-1]]) goto android_nw;
- break;
-
- case 4: /* nowhere */
- break;
-
- case 5: /* east */
- if (tab_android_move[Cave[y][x+1]]) goto android_e;
- if (tab_android_move[Cave[y-1][x+1]]) goto android_ne;
- if (tab_android_move[Cave[y+1][x+1]]) goto android_se;
- break;
-
- case 6: /* south west */
- if (tab_android_move[Cave[y+1][x-1]]) goto android_sw;
- if (tab_android_move[Cave[y+1][x]]) goto android_s;
- if (tab_android_move[Cave[y][x-1]]) goto android_w;
- break;
-
- case 7: /* south */
- if (tab_android_move[Cave[y+1][x]]) goto android_s;
- if (tab_android_move[Cave[y+1][x+1]]) goto android_se;
- if (tab_android_move[Cave[y+1][x-1]]) goto android_sw;
- break;
-
- case 8: /* south east */
- if (tab_android_move[Cave[y+1][x+1]]) goto android_se;
- if (tab_android_move[Cave[y][x+1]]) goto android_e;
- if (tab_android_move[Cave[y+1][x]]) goto android_s;
- break;
+ case 0: /* north west */
+ if (tab_android_move[Cave[y-1][x-1]]) goto android_nw;
+ if (tab_android_move[Cave[y][x-1]]) goto android_w;
+ if (tab_android_move[Cave[y-1][x]]) goto android_n;
+ break;
+
+ case 1: /* north */
+ if (tab_android_move[Cave[y-1][x]]) goto android_n;
+ if (tab_android_move[Cave[y-1][x-1]]) goto android_nw;
+ if (tab_android_move[Cave[y-1][x+1]]) goto android_ne;
+ break;
+
+ case 2: /* north east */
+ if (tab_android_move[Cave[y-1][x+1]]) goto android_ne;
+ if (tab_android_move[Cave[y-1][x]]) goto android_n;
+ if (tab_android_move[Cave[y][x+1]]) goto android_e;
+ break;
+
+ case 3: /* west */
+ if (tab_android_move[Cave[y][x-1]]) goto android_w;
+ if (tab_android_move[Cave[y+1][x-1]]) goto android_sw;
+ if (tab_android_move[Cave[y-1][x-1]]) goto android_nw;
+ break;
+
+ case 4: /* nowhere */
+ break;
+
+ case 5: /* east */
+ if (tab_android_move[Cave[y][x+1]]) goto android_e;
+ if (tab_android_move[Cave[y-1][x+1]]) goto android_ne;
+ if (tab_android_move[Cave[y+1][x+1]]) goto android_se;
+ break;
+
+ case 6: /* south west */
+ if (tab_android_move[Cave[y+1][x-1]]) goto android_sw;
+ if (tab_android_move[Cave[y+1][x]]) goto android_s;
+ if (tab_android_move[Cave[y][x-1]]) goto android_w;
+ break;
+
+ case 7: /* south */
+ if (tab_android_move[Cave[y+1][x]]) goto android_s;
+ if (tab_android_move[Cave[y+1][x+1]]) goto android_se;
+ if (tab_android_move[Cave[y+1][x-1]]) goto android_sw;
+ break;
+
+ case 8: /* south east */
+ if (tab_android_move[Cave[y+1][x+1]]) goto android_se;
+ if (tab_android_move[Cave[y][x+1]]) goto android_e;
+ if (tab_android_move[Cave[y+1][x]]) goto android_s;
+ break;
- case Xacid_1:
- case Xacid_2:
- case Xacid_3:
- case Xacid_4:
- case Xacid_5:
- case Xacid_6:
- case Xacid_7:
- case Xacid_8:
- Cave[y][x] = Yspring_eB;
- if (Cave[y-1][x+2] == Xblank)
- Cave[y-1][x+2] = Yacid_splash_eB;
- if (Cave[y-1][x] == Xblank)
- Cave[y-1][x] = Yacid_splash_wB;
- Next[y][x] = Xblank;
- play_element_sound(x, y, SAMPLE_acid, Xacid_1);
- goto loop;
-
- case Xblank:
- case Yacid_splash_eB:
- case Yacid_splash_wB:
- case Yalien_nB:
- case Yalien_eB:
- case Yalien_sB:
- case Yalien_wB:
- Cave[y][x] = Yspring_eB;
- Cave[y][x+1] = Yspring_e;
- Next[y][x] = Xblank;
- Next[y][x+1] = Xspring_e;
- goto loop;
-
- case Xalien:
- case Xalien_pause:
- case Yalien_n:
- case Yalien_e:
- case Yalien_s:
- case Yalien_w:
- Cave[y][x] = Yspring_kill_eB;
- Cave[y][x+1] = Yspring_kill_e;
- Next[y][x] = Xblank;
- Next[y][x+1] = Xspring_e;
- play_element_sound(x, y, SAMPLE_slurp, Xalien);
- score += lev.slurp_score;
- goto loop;
-
- case Xbumper:
- case XbumperB:
- Cave[y][x+1] = XbumperB;
- Next[y][x] = Xspring_w;
- play_element_sound(x, y, SAMPLE_spring, Xspring);
- goto loop;
-
- default:
- Cave[y][x] = Xspring;
- Next[y][x] = Xspring;
- play_element_sound(x, y, SAMPLE_spring, Xspring);
- goto loop;
+ case Xacid_1:
+ case Xacid_2:
+ case Xacid_3:
+ case Xacid_4:
+ case Xacid_5:
+ case Xacid_6:
+ case Xacid_7:
+ case Xacid_8:
+ Cave[y][x] = Yspring_eB;
+ if (Cave[y-1][x+2] == Xblank)
+ Cave[y-1][x+2] = Xacid_splash_e;
+ if (Cave[y-1][x] == Xblank)
+ Cave[y-1][x] = Xacid_splash_w;
+ Next[y][x] = Xblank;
+ play_element_sound(x, y, SOUND_acid, Xacid_1);
+ goto loop;
+
+ case Xblank:
+ case Xacid_splash_e:
+ case Xacid_splash_w:
+ case Yalien_nB:
+ case Yalien_eB:
+ case Yalien_sB:
+ case Yalien_wB:
+ Cave[y][x] = Yspring_eB;
+ Cave[y][x+1] = Yspring_e;
+ Next[y][x] = Xblank;
+ Next[y][x+1] = Xspring_e;
+ goto loop;
+
+ case Xalien:
+ case Xalien_pause:
+ case Yalien_n:
+ case Yalien_e:
+ case Yalien_s:
+ case Yalien_w:
+ Cave[y][x] = Yspring_alien_eB;
+ Cave[y][x+1] = Yspring_alien_e;
+ Next[y][x] = Xblank;
+ Next[y][x+1] = Xspring_e;
+ play_element_sound(x, y, SOUND_slurp, Xalien);
+ score += lev.slurp_score;
+ goto loop;
+
+ case Xbumper:
+ case XbumperB:
+ Cave[y][x+1] = XbumperB;
+ Next[y][x] = Xspring_w;
+ play_element_sound(x, y, SOUND_spring, Xspring);
+ goto loop;
+
+ default:
+ Cave[y][x] = Xspring;
+ Next[y][x] = Xspring;
+ play_element_sound(x, y, SOUND_spring, Xspring);
+ goto loop;
- case Xacid_1:
- case Xacid_2:
- case Xacid_3:
- case Xacid_4:
- case Xacid_5:
- case Xacid_6:
- case Xacid_7:
- case Xacid_8:
- Cave[y][x] = Yspring_wB;
- if (Cave[y-1][x] == Xblank)
- Cave[y-1][x] = Yacid_splash_eB;
- if (Cave[y-1][x-2] == Xblank)
- Cave[y-1][x-2] = Yacid_splash_wB;
- Next[y][x] = Xblank;
- play_element_sound(x, y, SAMPLE_acid, Xacid_1);
- goto loop;
-
- case Xblank:
- case Yacid_splash_eB:
- case Yacid_splash_wB:
- case Yalien_nB:
- case Yalien_eB:
- case Yalien_sB:
- case Yalien_wB:
- Cave[y][x] = Yspring_wB;
- Cave[y][x-1] = Yspring_w;
- Next[y][x] = Xblank;
- Next[y][x-1] = Xspring_w;
- goto loop;
-
- case Xalien:
- case Xalien_pause:
- case Yalien_n:
- case Yalien_e:
- case Yalien_s:
- case Yalien_w:
- Cave[y][x] = Yspring_kill_wB;
- Cave[y][x-1] = Yspring_kill_w;
- Next[y][x] = Xblank;
- Next[y][x-1] = Xspring_w;
- play_element_sound(x, y, SAMPLE_slurp, Xalien);
- score += lev.slurp_score;
- goto loop;
-
- case Xbumper:
- case XbumperB:
- Cave[y][x-1] = XbumperB;
- Next[y][x] = Xspring_e;
- play_element_sound(x, y, SAMPLE_spring, Xspring);
- goto loop;
-
- default:
- Cave[y][x] = Xspring;
- Next[y][x] = Xspring;
- play_element_sound(x, y, SAMPLE_spring, Xspring);
- goto loop;
+ case Xacid_1:
+ case Xacid_2:
+ case Xacid_3:
+ case Xacid_4:
+ case Xacid_5:
+ case Xacid_6:
+ case Xacid_7:
+ case Xacid_8:
+ Cave[y][x] = Yspring_wB;
+ if (Cave[y-1][x] == Xblank)
+ Cave[y-1][x] = Xacid_splash_e;
+ if (Cave[y-1][x-2] == Xblank)
+ Cave[y-1][x-2] = Xacid_splash_w;
+ Next[y][x] = Xblank;
+ play_element_sound(x, y, SOUND_acid, Xacid_1);
+ goto loop;
+
+ case Xblank:
+ case Xacid_splash_e:
+ case Xacid_splash_w:
+ case Yalien_nB:
+ case Yalien_eB:
+ case Yalien_sB:
+ case Yalien_wB:
+ Cave[y][x] = Yspring_wB;
+ Cave[y][x-1] = Yspring_w;
+ Next[y][x] = Xblank;
+ Next[y][x-1] = Xspring_w;
+ goto loop;
+
+ case Xalien:
+ case Xalien_pause:
+ case Yalien_n:
+ case Yalien_e:
+ case Yalien_s:
+ case Yalien_w:
+ Cave[y][x] = Yspring_alien_wB;
+ Cave[y][x-1] = Yspring_alien_w;
+ Next[y][x] = Xblank;
+ Next[y][x-1] = Xspring_w;
+ play_element_sound(x, y, SOUND_slurp, Xalien);
+ score += lev.slurp_score;
+ goto loop;
+
+ case Xbumper:
+ case XbumperB:
+ Cave[y][x-1] = XbumperB;
+ Next[y][x] = Xspring_e;
+ play_element_sound(x, y, SOUND_spring, Xspring);
+ goto loop;
+
+ default:
+ Cave[y][x] = Xspring;
+ Next[y][x] = Xspring;
+ play_element_sound(x, y, SOUND_spring, Xspring);
+ goto loop;