diff options
| author | Charles <sircharlesaze@gmail.com> | 2020-01-11 13:43:04 +0100 |
|---|---|---|
| committer | Charles <sircharlesaze@gmail.com> | 2020-01-12 15:45:52 +0100 |
| commit | a0c774e4963945b9a0d94e5b2cc7420960741a8b (patch) | |
| tree | c26c92eda37c03a1016a36724fad3f955373a7a0 /event.c | |
| parent | 2fdb9ad1d66e28e056f31bc6321d2c198db33290 (diff) | |
| download | cub3d-a0c774e4963945b9a0d94e5b2cc7420960741a8b.tar.gz cub3d-a0c774e4963945b9a0d94e5b2cc7420960741a8b.tar.bz2 cub3d-a0c774e4963945b9a0d94e5b2cc7420960741a8b.zip | |
Refactoring render.c
Diffstat (limited to 'event.c')
| -rw-r--r-- | event.c | 32 |
1 files changed, 18 insertions, 14 deletions
@@ -6,13 +6,13 @@ /* By: cacharle <marvin@42.fr> +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2019/11/15 06:39:37 by cacharle #+# #+# */ -/* Updated: 2020/01/11 10:10:05 by cacharle ### ########.fr */ +/* Updated: 2020/01/12 09:27:14 by cacharle ### ########.fr */ /* */ /* ************************************************************************** */ #include "cub3d.h" -#define ROTATE_SIZE (M_PI / 20.0) +#define ROTATE_STEP (M_PI / 20.0) #define MOVE_SPEED 0.25 int event_keydown(int key, void *param) @@ -22,17 +22,21 @@ int event_keydown(int key, void *param) state = (t_state*)param; if (key == MLXK_ESC) state->running = FALSE; - if (key == MLXK_A) - state->pos = vector_add(state->pos, vector_scale(vector_rotate(state->dir, M_PI_2), MOVE_SPEED)); - if (key == MLXK_D) - state->pos = vector_add(state->pos, vector_scale(vector_rotate(state->dir, -M_PI_2), MOVE_SPEED)); - if (key == MLXK_W) - state->pos = vector_add(state->pos, vector_scale(state->dir, MOVE_SPEED)); - if (key == MLXK_S) - state->pos = vector_add(state->pos, vector_scale(state->dir, -MOVE_SPEED)); - if (key == MLXK_LEFT) - state->dir = vector_rotate(state->dir, -ROTATE_SIZE); - if (key == MLXK_RIGHT) - state->dir = vector_rotate(state->dir, ROTATE_SIZE); + else if (key == MLXK_A) + state->pos = vector_add(state->pos, + vector_scale(vector_rotate(state->dir, M_PI_2), MOVE_SPEED)); + else if (key == MLXK_D) + state->pos = vector_add(state->pos, + vector_scale(vector_rotate(state->dir, -M_PI_2), MOVE_SPEED)); + else if (key == MLXK_W) + state->pos = vector_add(state->pos, + vector_scale(state->dir, MOVE_SPEED)); + else if (key == MLXK_S) + state->pos = vector_add(state->pos, + vector_scale(state->dir, -MOVE_SPEED)); + else if (key == MLXK_LEFT) + helper_rotate_player(state, -ROTATE_STEP); + else if (key == MLXK_RIGHT) + helper_rotate_player(state, ROTATE_STEP); return (0); } |
