diff options
Diffstat (limited to 'src')
| -rw-r--r-- | src/enemies.c | 9 | ||||
| -rw-r--r-- | src/enemies.h | 3 | ||||
| -rw-r--r-- | src/main.c | 21 |
3 files changed, 28 insertions, 5 deletions
diff --git a/src/enemies.c b/src/enemies.c index 0f545cc..abb8646 100644 --- a/src/enemies.c +++ b/src/enemies.c @@ -13,6 +13,7 @@ static rodeo_texture_2d_t squid_texture; static cvec_enemy_t enemies = {0}; static cvec_enemy_t ghosts = {0}; static float spawn_cooldown = 0; +static uint16_t enemy_count = 0; void init_enemies(void) @@ -36,6 +37,12 @@ deinit_enemies(void) rodeo_texture_2d_destroy(&amonghost_texture); } +uint16_t +get_enemy_count(void) +{ + return enemy_count; +} + enemy_t* spawn_enemy(float x, float y) { @@ -52,6 +59,7 @@ spawn_enemy(float x, float y) rodeo_collision_2d_world_item_t enemy_collision = (rodeo_collision_2d_world_item_t){.x = x, .y = y, .width = 40, .height = 40}; world_id id = rodeo_collision_2d_world_item_create(enemy_collision_world, enemy_collision)->id; + enemy_count++; return cvec_enemy_t_push( enemy_obj_world, @@ -412,6 +420,7 @@ void enemy_destroy( cvec_enemy_t_value* enemy ) { + enemy_count--; cvec_enemy_t *enemy_vec = &enemies; if(enemy->weapon.type == enemy_weapon_basic) { diff --git a/src/enemies.h b/src/enemies.h index b2e9b6b..a03162f 100644 --- a/src/enemies.h +++ b/src/enemies.h @@ -55,6 +55,9 @@ deinit_enemies(void); deinit_enemies() \ ) +uint16_t +get_enemy_count(void); + enemy_t* spawn_enemy( float x, @@ -45,7 +45,11 @@ main_loop(void) player_shoot(get_player_bullet_world()); enemies_attempt_weapon_fire(); - attempt_random_enemy_spawn((rodeo_rectangle_t){ 0, 0, window_width, window_height }); + if (get_enemy_count() < 50) + { + attempt_random_enemy_spawn((rodeo_rectangle_t){ 0, 0, window_width, window_height }); + } + group_follow_target(get_player_position()); @@ -87,6 +91,13 @@ main_loop(void) " fps: %.2f ", time_var ); + + rodeo_debug_text_draw( + 2, + 4, + " enemy count: %d ", + get_enemy_count() + ); } } @@ -126,10 +137,10 @@ main(void) { wall_init_do() { - spawn_enemy(400.0f,700.0f); - spawn_enemy(900.0f,700.0f); - spawn_enemy(400.0f,100.0f); - spawn_enemy(900.0f,100.0f); + //spawn_enemy(400.0f,700.0f); + //spawn_enemy(900.0f,700.0f); + //spawn_enemy(400.0f,100.0f); + //spawn_enemy(900.0f,100.0f); rodeo_mainLoop_run( main_loop ); |
