diff options
| -rw-r--r-- | src/player_process.c | 14 |
1 files changed, 13 insertions, 1 deletions
diff --git a/src/player_process.c b/src/player_process.c index c285c4d..0d4f0c3 100644 --- a/src/player_process.c +++ b/src/player_process.c @@ -6,7 +6,7 @@ /* By: dkaiser <dkaiser@student.42heilbronn.de +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2024/05/14 12:40:05 by dkaiser #+# #+# */ -/* Updated: 2024/05/15 16:55:29 by dkaiser ### ########.fr */ +/* Updated: 2024/05/15 17:53:54 by dkaiser ### ########.fr */ /* */ /* ************************************************************************** */ @@ -14,6 +14,7 @@ #include "so_long.h" static t_vector get_direction_from_input(t_game *game); +static int check_exit(t_actor *player, t_tilemap *map); void player_process(t_game *game) { @@ -27,9 +28,20 @@ void player_process(t_game *game) (t_collider){player->position, player->size}, &game->map)) player->velocity.y = -1000; + if (check_exit(player, &game->map)) + exit(0); move_and_slide(player, &game->map, game->mlx->delta_time); } +static int check_exit(t_actor *player, t_tilemap *map) +{ + t_collider player_collider; + + player_collider = (t_collider){player->position, player->size}; + return (check_map_collision(player_collider, map, EXIT)); +} + + static t_vector get_direction_from_input(t_game *game) { t_vector result; |
