게임은 두 가지 경우에 종료되도록 하였습니다.
void event_checker(t_game *game)
{
int p_x;
int p_y;
int r_x;
int r_y;
p_x = game->player.x;
p_y = game->player.y; // 플레이어의 좌표
r_x = game->enemy.x;
r_y = game->enemy.y; // 적의 좌표
if (game->map.pos[p_y][p_x] == 'E')
// 플레이어가 탈출구에 있다면
{
printf("%s\n", "Escape.");
exit(0);
}
else if (p_x == r_x && p_y == r_y)
// 플레이어와 적이 같은 위치라면 충돌로 판단
{
printf("%s\n", "Collision.");
exit(0);
}
}
플레이어와 적의 위치가 같다면 충돌한 것으로 판단합니다. 충돌 시 게임은 종료됩니다.
수집품(코인)도 같은 방법으로 충돌했다면 수집하였다고 카운트해줍니다.
코인을 모두 모은 상태로 탈출구에 도달하면 게임이 종료됩니다.