summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorDominik Kaiser2024-05-15 17:56:01 +0200
committerDominik Kaiser2024-05-15 17:56:01 +0200
commite45d23fa56958a127c067e599d1408b030220ce8 (patch)
tree5892521d193f3107f25f38bea3ba68a16bdb5c9c /src
parent71e3dec2a0d675a1d911c529d228814742c49fcf (diff)
downloadso_long-e45d23fa56958a127c067e599d1408b030220ce8.tar.gz
so_long-e45d23fa56958a127c067e599d1408b030220ce8.zip
Exit game when reaching the exit
Diffstat (limited to 'src')
-rw-r--r--src/player_process.c14
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;