state = GAMEPLAY;
play_tune(1);
xship -= 50;
- // xvel = 3;
- // yvel = 0;
break;
case GAME_OVER:
state = HIGH_SCORE_ENTRY;
}
} else {
if(state == DEAD_PAUSE) {
- float blast_radius = START_RAD * state_timeout / 50.0;
+ float blast_radius = START_RAD * state_timeout / 20.0;
+ if(xship < 60) xship = 60;
for(i = 0; i<MAXROCKS; i++ ) {
float dx, dy, n;
if(rock[i].x <= 0) continue;
dy = rock[i].y - yship;
n = sqrt(dx*dx + dy*dy);
if(n < blast_radius) {
- n *= 50;
+ n *= 20;
rock[i].xvel += rockrate*(dx+30)/n;
rock[i].yvel += rockrate*dy/n;
rock[i].dead = 1;
for(i = 0; i<MAXROCKS; i++) if(rock[i].active) {
rock[i].x += rock[i].xvel*movementrate;
rock[i].y += rock[i].yvel*movementrate + yscroll;
- if(rock[i].dead && rock[i].y < 0 || rock[i].y > YSIZE) rock[i].active = 0;
+ if(rock[i].dead && (rock[i].y < 0 || rock[i].y > YSIZE)) rock[i].active = 0;
if(rock[i].y > YSIZE) {
rock[i].y -= YSIZE;
rock[i].y -= rock[i].image->w;
}
else {
state = DEAD_PAUSE;
- state_timeout = 50.0;
+ state_timeout = 20.0;
xvel = 0;
yvel = 0;
}