X-Git-Url: https://jasonwoof.com/gitweb/?p=vor.git;a=blobdiff_plain;f=rocks.c;h=5f637e038c678d3736a5e72e1f3c7e73eda2db37;hp=7285d3beb85d2f3dab9b2cb0a3ffb059a1d384de;hb=0224eb908d4084f52a22c8d64404a0efb4acfa35;hpb=0978da8f14d855eecae9882b559d6e8b0533e78e diff --git a/rocks.c b/rocks.c index 7285d3b..5f637e0 100644 --- a/rocks.c +++ b/rocks.c @@ -17,9 +17,11 @@ static struct rock prototypes[NROCKS]; // timers for rock generation. static float rtimers[4]; -uint32_t nrocks = I_ROCKS; +uint32_t nrocks = NORMAL_I_ROCKS; +uint32_t initial_rocks = NORMAL_I_ROCKS; +uint32_t final_rocks = NORMAL_F_ROCKS; float nrocks_timer = 0; -float nrocks_inc_ticks = 2*60*20/(F_ROCKS-I_ROCKS); +float nrocks_inc_ticks = 2*60*20/(NORMAL_F_ROCKS-NORMAL_I_ROCKS); // constants for rock generation. #define KH (32*20) // 32 s for a speed=1 rock to cross the screen horizontally. @@ -30,7 +32,8 @@ float nrocks_inc_ticks = 2*60*20/(F_ROCKS-I_ROCKS); void reset_rocks(void) { - nrocks = I_ROCKS; + nrocks = initial_rocks; + nrocks_inc_ticks = 2*60*20/(final_rocks-initial_rocks); nrocks_timer = 0; } @@ -46,7 +49,7 @@ load_rocks(void) snprintf(a, ROCK_LEN, "sprites/rock%02d.png", i); load_sprite(SPRITE(&prototypes[i]), a); prototypes[i].sprite_type = ROCK; - prototypes[i].flags = ALL_FLAGS; + prototypes[i].flags = MOVE|DRAW|COLLIDE; } memset(rocks, 0, MAXROCKS*sizeof(struct rock)); @@ -134,7 +137,7 @@ new_rocks(void) float rmin[4]; float rmax[4]; - if(nrocks < F_ROCKS) { + if(nrocks < final_rocks) { nrocks_timer += t_frame; if(nrocks_timer >= nrocks_inc_ticks) { nrocks_timer -= nrocks_inc_ticks; @@ -198,28 +201,3 @@ draw_rocks(void) int i; for(i=0; ix <= 0) continue; - - dx = r->x - x; - dy = r->y - y; - - n = sqrt(dx*dx + dy*dy); - if(n < radius) { - n *= 15; - r->dx += 54.0*dx/n; - r->dy += 54.0*dy/n; - r->flags &= ~COLLIDE_FLAG; - } - } -}