From e64e485ec104831147f9cdf1bb2955d6386a81a0 Mon Sep 17 00:00:00 2001 From: Nathalia Vitoria Buchholz Date: Wed, 5 Feb 2025 13:17:59 -0300 Subject: [PATCH] refactor: validation functions to include check for valid characters in the map --- src/utils_validation_map.c | 12 ++++++++---- src/validate_map.c | 4 ++-- 2 files changed, 10 insertions(+), 6 deletions(-) diff --git a/src/utils_validation_map.c b/src/utils_validation_map.c index c6c7487..2470fd5 100644 --- a/src/utils_validation_map.c +++ b/src/utils_validation_map.c @@ -6,7 +6,7 @@ /* By: nbuchhol +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2025/01/24 13:55:48 by nbuchhol #+# #+# */ -/* Updated: 2025/02/03 13:41:49 by nbuchhol ### ########.fr */ +/* Updated: 2025/02/05 12:53:23 by nbuchhol ### ########.fr */ /* */ /* ************************************************************************** */ @@ -28,6 +28,11 @@ int count_lines(int file) return (lines); } +static int is_valid_char(char c) +{ + return (ft_strchr("EPC10", c) != NULL); +} + int valid_chars(t_game game) { size_t y; @@ -37,9 +42,9 @@ int valid_chars(t_game game) while (y < game.map_h) { x = 0; - while (x < game.map_w) + while (x < game.map_w - 1) { - if (!ft_strchr("EPC10", game.map[y][x])) + if (!is_valid_char(game.map[y][x])) return (1); x++; } @@ -56,5 +61,4 @@ int valid_chars(t_game game) // int is_all_wall() // { // //comprimento -2 => linhas do meio => checar primeira e última posição do x - // } diff --git a/src/validate_map.c b/src/validate_map.c index a4e8472..7b9dfdd 100644 --- a/src/validate_map.c +++ b/src/validate_map.c @@ -6,7 +6,7 @@ /* By: nbuchhol +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2025/01/09 09:58:46 by nbuchhol #+# #+# */ -/* Updated: 2025/02/03 17:39:21 by nbuchhol ### ########.fr */ +/* Updated: 2025/02/05 12:40:16 by nbuchhol ### ########.fr */ /* */ /* ************************************************************************** */ @@ -26,7 +26,7 @@ int valid_map(char *map_file) game.map = load_map(map_fd, &game); if (!game.map) close_game(map_fd, game.map, 2); - if (is_rectangle(game)) + if (is_rectangle(game) || valid_chars(game)) close_game(map_fd, game.map, 2); return (0); }