diff options
| author | Charles <sircharlesaze@gmail.com> | 2020-01-30 15:52:16 +0100 |
|---|---|---|
| committer | Charles <sircharlesaze@gmail.com> | 2020-01-30 15:52:16 +0100 |
| commit | 57867bbbdc24b734d85f8d3569c7ad27dcd9504d (patch) | |
| tree | 1727dd02444038341746894268ecea62b84aaea1 /src/event.c | |
| parent | 3a164bce55e173d5204c4aaa66dd4eb5bc1762f9 (diff) | |
| download | cub3d-57867bbbdc24b734d85f8d3569c7ad27dcd9504d.tar.gz cub3d-57867bbbdc24b734d85f8d3569c7ad27dcd9504d.tar.bz2 cub3d-57867bbbdc24b734d85f8d3569c7ad27dcd9504d.zip | |
files restructuration
Diffstat (limited to 'src/event.c')
| -rw-r--r-- | src/event.c | 45 |
1 files changed, 45 insertions, 0 deletions
diff --git a/src/event.c b/src/event.c new file mode 100644 index 0000000..9dcaa75 --- /dev/null +++ b/src/event.c @@ -0,0 +1,45 @@ +/* ************************************************************************** */ +/* */ +/* ::: :::::::: */ +/* event.c :+: :+: :+: */ +/* +:+ +:+ +:+ */ +/* By: cacharle <marvin@42.fr> +#+ +:+ +#+ */ +/* +#+#+#+#+#+ +#+ */ +/* Created: 2019/11/15 06:39:37 by cacharle #+# #+# */ +/* Updated: 2020/01/30 15:20:18 by cacharle ### ########.fr */ +/* */ +/* ************************************************************************** */ + +#include "cub3d.h" + +#define ROTATE_STEP (M_PI / 40.0) +#define MOVE_SPEED 0.25 + +int event_keydown(int key, t_state *state) +{ + if (key == MLXK_ESC) + state->running = FALSE; + 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); +} + +int event_quit(t_state *state) +{ + state->running = FALSE; + return (0); +} |
