summaryrefslogtreecommitdiffstats
path: root/src/char/enemy.c
diff options
context:
space:
mode:
authorP. J. McDermott <pj@pehjota.net>2021-08-10 02:08:41 (EDT)
committer P. J. McDermott <pj@pehjota.net>2021-08-10 02:21:48 (EDT)
commit3e619979dafa64c6b2576420ff1ce59462256d5e (patch)
tree27249a38387828b922dad3b88a8ee55f1949ec83 /src/char/enemy.c
parent85494ad6865c9087b0d0f5a547b17042e7122662 (diff)
downloadmazefight-3e619979dafa64c6b2576420ff1ce59462256d5e.zip
mazefight-3e619979dafa64c6b2576420ff1ce59462256d5e.tar.gz
mazefight-3e619979dafa64c6b2576420ff1ce59462256d5e.tar.bz2
char: Add collision detection/handling
Diffstat (limited to 'src/char/enemy.c')
-rw-r--r--src/char/enemy.c14
1 files changed, 14 insertions, 0 deletions
diff --git a/src/char/enemy.c b/src/char/enemy.c
index 82cc16b..fb259a2 100644
--- a/src/char/enemy.c
+++ b/src/char/enemy.c
@@ -97,6 +97,20 @@ _mf_enemy_turn(struct mf_char *c)
return 0;
}
+static void
+_mf_enemy_collide(struct mf_char *c)
+{
+ /* Don't go forward unless necessary */
+ switch (c->cur_dir) {
+ case MF_CHAR_DIR_U_: c->cur_dir = MF_CHAR_DIR_D_; break;
+ case MF_CHAR_DIR_D_: c->cur_dir = MF_CHAR_DIR_U_; break;
+ case MF_CHAR_DIR_L_: c->cur_dir = MF_CHAR_DIR_R_; break;
+ case MF_CHAR_DIR_R_: c->cur_dir = MF_CHAR_DIR_L_; break;
+ default: c->cur_dir = MF_CHAR_DIR_N_; break;
+ }
+ _mf_enemy_step(c);
+}
+
static int
_mf_enemy_render(struct mf_char *c __attribute__((__unused__)),
SDL_Renderer *renderer __attribute__((__unused__)))