diff --git a/src/hooks.c b/src/hooks.c index e04ce51..92869a6 100644 --- a/src/hooks.c +++ b/src/hooks.c @@ -6,7 +6,7 @@ /* By: qmennen +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2025/04/15 17:51:26 by qmennen #+# #+# */ -/* Updated: 2025/04/17 19:52:14 by qmennen ### ########.fr */ +/* Updated: 2025/04/17 19:57:35 by qmennen ### ########.fr */ /* */ /* ************************************************************************** */ @@ -19,6 +19,4 @@ void keyhandle(mlx_key_data_t keydata, void *param) game = (t_game *)param; if (keydata.key == MLX_KEY_ESCAPE) game_terminate(game); - else - game->keyboard->keys[keydata.key] = 1; } diff --git a/src/keyboard.c b/src/keyboard.c index f3e2072..18e5acc 100644 --- a/src/keyboard.c +++ b/src/keyboard.c @@ -6,7 +6,7 @@ /* By: qmennen +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2025/04/17 19:29:29 by qmennen #+# #+# */ -/* Updated: 2025/04/17 19:45:46 by qmennen ### ########.fr */ +/* Updated: 2025/04/17 19:58:48 by qmennen ### ########.fr */ /* */ /* ************************************************************************** */ @@ -21,9 +21,12 @@ int keyboard_create(t_game **game) if (!keyboard) return (FAILURE); (*game)->keyboard = keyboard; - i = -1; - while ((i++) < NUM_KEYS) + i = 0; + while (i < NUM_KEYS) + { (*game)->keyboard->keys[i] = 0; + i++; + } return (SUCCESS); } diff --git a/src/player.c b/src/player.c index af19453..f64f54c 100644 --- a/src/player.c +++ b/src/player.c @@ -6,7 +6,7 @@ /* By: qmennen +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2025/04/15 18:53:19 by qmennen #+# #+# */ -/* Updated: 2025/04/17 19:50:48 by qmennen ### ########.fr */ +/* Updated: 2025/04/17 19:55:43 by qmennen ### ########.fr */ /* */ /* ************************************************************************** */ @@ -24,16 +24,16 @@ int player_create(t_game **game) player->pos.x = 20.f; player->pos.y = 20.f; player->angle = 0.f; - player->speed = 6.f; + player->speed = 35.f; player->fov = 90.f; (*game)->player = player; return (SUCCESS); } -static void move(t_player *player, int dir) +static void move(t_player *player, int dir, float delta) { - player->pos.x += dir * (cos(player->angle) * player->speed); - player->pos.y += dir * (sin(player->angle) * player->speed); + player->pos.x += dir * (cos(player->angle) * player->speed * delta); + player->pos.y += dir * (sin(player->angle) * player->speed * delta); } static void rotate(t_player *player, int dir) @@ -44,9 +44,9 @@ static void rotate(t_player *player, int dir) void player_update(t_game *game) { if (get_key(game, MLX_KEY_W)) - move(game->player, 1); + move(game->player, 1, game->screen->mlx->delta_time); else if (get_key(game, MLX_KEY_S)) - move(game->player, -1); + move(game->player, -1, game->screen->mlx->delta_time); if (get_key(game, MLX_KEY_LEFT)) rotate(game->player, -1); else if (get_key(game, MLX_KEY_RIGHT))