diff options
| author | realtradam <[email protected]> | 2023-05-26 17:51:01 -0400 |
|---|---|---|
| committer | realtradam <[email protected]> | 2023-05-26 17:51:01 -0400 |
| commit | 272924609d8b9aa64c03046f4f22db1a2efcd46b (patch) | |
| tree | 010a6bb56f80cde00b2feead60c5304067a0ffa4 /src | |
| parent | 579ad3f7efac9205fc5b2fac66b9e83e5de8a404 (diff) | |
| parent | 41952aa435d9443dc7a96d2c59506cfe5c426328 (diff) | |
| download | TOJam2023-272924609d8b9aa64c03046f4f22db1a2efcd46b.tar.gz TOJam2023-272924609d8b9aa64c03046f4f22db1a2efcd46b.zip | |
Merge branch 'master' of github.com:realtradam/TOJam2023
Diffstat (limited to 'src')
| -rw-r--r-- | src/enemies.c | 4 | ||||
| -rw-r--r-- | src/enemies.h | 2 | ||||
| -rw-r--r-- | src/main.c | 3 | ||||
| -rw-r--r-- | src/player.c | 30 |
4 files changed, 25 insertions, 14 deletions
diff --git a/src/enemies.c b/src/enemies.c index a8705ed..7073a1b 100644 --- a/src/enemies.c +++ b/src/enemies.c @@ -67,10 +67,10 @@ get_enemy_by_id( return NULL; } -rodeo_collision_2d_world_t +rodeo_collision_2d_world_t * get_enemies_world(void) { - return collision_enemies_world; + return &collision_enemies_world; } cvec_enemy_t diff --git a/src/enemies.h b/src/enemies.h index b5cc916..988ea22 100644 --- a/src/enemies.h +++ b/src/enemies.h @@ -34,7 +34,7 @@ get_enemy_by_id( world_id id ); -rodeo_collision_2d_world_t +rodeo_collision_2d_world_t * get_enemies_world(void); cvec_enemy_t @@ -189,6 +189,7 @@ main_loop(void) draw_player(); draw_enemies(); detect_bullet_enemy_collisions(); + detect_player_enemy_collisions(); rodeo_debug_text_draw( 1, @@ -271,7 +272,7 @@ main(void) init_player(); init_enemies(); spawn_enemy(240, 240); - spawn_enemy(100, 100); + //spawn_enemy(100, 100); spawn_enemy(300, 100); spawn_enemy(200, 330); diff --git a/src/player.c b/src/player.c index eef5007..e913b50 100644 --- a/src/player.c +++ b/src/player.c @@ -1,6 +1,7 @@ #include "rodeo.h" #include "input.h" #include "player.h" +#include "enemies.h" #include "rodeo/collision.h" #include "sprite.h" @@ -9,7 +10,7 @@ struct player_t sprite_t sprite; rodeo_texture_2d_t texture; int32_t hp; - float damage_timer; + float damage_timer; //ms world_id collision_id; move_state_t move_state; } @@ -46,8 +47,8 @@ init_player(void) .height = 128, .count = 61 } -}; - + }; + player.hp = 100; } void @@ -157,23 +158,32 @@ player_shoot(rodeo_collision_2d_world_t *bullet_collision_world) ); } } -/* + void player_enemy_resolver( rodeo_collision_2d_world_item_t *player_collision, rodeo_collision_2d_world_item_t *enemy_collision ) { - if (player.damage_timer > 1.0) { + if (player.hp <= 0) { + rodeo_log( + rodeo_logLevel_info, + "player is dead" + ); + } else if (player.damage_timer > 1000.0) { + rodeo_log( + rodeo_logLevel_info, + "player health is now %d", + player.hp + ); player.hp -= 10; player.damage_timer = 0; } - if (player.hp <= 0) { - //game over - } + } -*/ + void detect_player_enemy_collisions(void) { - + player.damage_timer += rodeo_frame_time_get(); + rodeo_collision_2d_world_compare_other(&player_collision_world, get_enemies_world(), player_enemy_resolver); } |
