aboutsummaryrefslogtreecommitdiff
path: root/event.c
diff options
context:
space:
mode:
authorCharles <sircharlesaze@gmail.com>2020-01-11 13:43:04 +0100
committerCharles <sircharlesaze@gmail.com>2020-01-12 15:45:52 +0100
commita0c774e4963945b9a0d94e5b2cc7420960741a8b (patch)
treec26c92eda37c03a1016a36724fad3f955373a7a0 /event.c
parent2fdb9ad1d66e28e056f31bc6321d2c198db33290 (diff)
downloadcub3d-a0c774e4963945b9a0d94e5b2cc7420960741a8b.tar.gz
cub3d-a0c774e4963945b9a0d94e5b2cc7420960741a8b.tar.bz2
cub3d-a0c774e4963945b9a0d94e5b2cc7420960741a8b.zip
Refactoring render.c
Diffstat (limited to 'event.c')
-rw-r--r--event.c32
1 files changed, 18 insertions, 14 deletions
diff --git a/event.c b/event.c
index 8c2049c..1458123 100644
--- a/event.c
+++ b/event.c
@@ -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);
}