- case Xspring:
- if (RANDOM(2))
- {
- switch (Cave[x+1][y+1])
- {
- case Xblank:
- case Xacid_splash_e:
- case Xacid_splash_w:
- case Xalien:
- case Xalien_pause:
- Cave[x][y+1] = Xspring_e;
- break;
-
- default:
- Cave[x][y+1] = Xspring_w;
- break;
- }
- }
- else
- {
- switch (Cave[x-1][y+1])
- {
- case Xblank:
- case Xacid_splash_e:
- case Xacid_splash_w:
- case Xalien:
- case Xalien_pause:
- Cave[x][y+1] = Xspring_w;
- break;
- default:
- Cave[x][y+1] = Xspring_e;
- break;
- }
- }
-
- Next[x][y] = Xstone;
- return;
-
- case Xeater_n:
- case Xeater_e:
- case Xeater_s:
- case Xeater_w:
- Cave[x][y] = Ystone_sB;
- Cave[x][y+1] = Yeater_stone;
- Next[x][y+1] = Znormal;
- Boom[x-1][y] = lev.eater_array[lev.eater_pos][0];
- Boom[x][y] = lev.eater_array[lev.eater_pos][1];
- Boom[x+1][y] = lev.eater_array[lev.eater_pos][2];
- Boom[x-1][y+1] = lev.eater_array[lev.eater_pos][3];
- Boom[x][y+1] = lev.eater_array[lev.eater_pos][4];
- Boom[x+1][y+1] = lev.eater_array[lev.eater_pos][5];
- Boom[x-1][y+2] = lev.eater_array[lev.eater_pos][6];
- Boom[x][y+2] = lev.eater_array[lev.eater_pos][7];
- Boom[x+1][y+2] = lev.eater_array[lev.eater_pos][8];
-#if PLAY_ELEMENT_SOUND
- play_element_sound(x, y, SOUND_boom, Xstone_fall);
-#endif
- lev.eater_pos = (lev.eater_pos + 1) & 7;
- score += lev.eater_score;
- return;
-
- case Xalien:
- case Xalien_pause:
- Cave[x][y] = Ystone_sB;
- Cave[x][y+1] = Yalien_stone;
- Next[x][y+1] = Znormal;
- Boom[x-1][y] = Xblank;
- Boom[x][y] = Xblank;
- Boom[x+1][y] = Xblank;
- Boom[x-1][y+1] = Xblank;
- Boom[x][y+1] = Xblank;
- Boom[x+1][y+1] = Xblank;
- Boom[x-1][y+2] = Xblank;
- Boom[x][y+2] = Xblank;
- Boom[x+1][y+2] = Xblank;
-#if PLAY_ELEMENT_SOUND
- play_element_sound(x, y, SOUND_boom, Xstone_fall);
-#endif
- score += lev.alien_score;
- return;
-