Archived
1
0

🏗️」 wip: parsing map

This commit is contained in:
Maelys
2024-09-12 13:01:04 +02:00
parent 2ec96bf194
commit 172dadff75
7 changed files with 98 additions and 57 deletions

View File

@ -6,7 +6,7 @@
/* By: madumerg <madumerg@42angouleme.fr> +#+ +:+ +#+ */
/* +#+#+#+#+#+ +#+ */
/* Created: 2024/09/04 21:33:35 by madumerg #+# #+# */
/* Updated: 2024/09/11 22:12:13 by madumerg ### ########.fr */
/* Updated: 2024/09/12 12:57:41 by madumerg ### ########.fr */
/* */
/* ************************************************************************** */

View File

@ -6,7 +6,7 @@
/* By: madumerg <madumerg@42angouleme.fr> +#+ +:+ +#+ */
/* +#+#+#+#+#+ +#+ */
/* Created: 2024/09/11 11:24:13 by madumerg #+# #+# */
/* Updated: 2024/09/11 22:14:44 by madumerg ### ########.fr */
/* Updated: 2024/09/12 12:57:24 by madumerg ### ########.fr */
/* */
/* ************************************************************************** */
@ -81,17 +81,6 @@ int count_player(char **map)
return (0);
}
int verif_all_map(char **map)
{
if (check_char_map(map) == 1)
return (err_mess(WRONG_CHAR));
if (count_player(map) == 1)
return (err_mess(ERR_PLAYER));
if (check_map_close(map) == 1)
return (err_mess(NOT_CLOSE));
return (0);
}
int check_char_map(char **map)
{
int y;
@ -101,7 +90,6 @@ int check_char_map(char **map)
while (map[y])
{
x = 0;
convert_white_s(map[y]);
while (map[y][x])
{
if (verif_char(map[y][x]) == 1)
@ -112,27 +100,3 @@ int check_char_map(char **map)
}
return (0);
}
char **parse_map(char *map)
{
int fd;
char **parse_map;
char *save;
char *join;
fd = open(map, O_RDONLY);
save = get_next_line(fd);
join = ft_calloc(1, 1);
if (!join)
return (NULL);
while (save != NULL)
{
join = ft_strjoin(join, save);
free(save);
save = get_next_line(fd);
}
parse_map = ft_split(join, '\n');
free(join);
close(fd);
return (parse_map);
}

View File

@ -0,0 +1,48 @@
/* ************************************************************************** */
/* */
/* ::: :::::::: */
/* principal_pars.c :+: :+: :+: */
/* +:+ +:+ +:+ */
/* By: madumerg <madumerg@42angouleme.fr> +#+ +:+ +#+ */
/* +#+#+#+#+#+ +#+ */
/* Created: 2024/09/12 12:44:52 by madumerg #+# #+# */
/* Updated: 2024/09/12 12:54:54 by madumerg ### ########.fr */
/* */
/* ************************************************************************** */
#include "cub3d.h"
int verif_all_map(char **map)
{
if (check_char_map(map) == 1)
return (err_mess(WRONG_CHAR));
if (count_player(map) == 1)
return (err_mess(ERR_PLAYER));
if (check_map_close(map) == 1)
return (err_mess(NOT_CLOSE));
return (0);
}
char **parse_map(char *map)
{
int fd;
char **parse_map;
char *save;
char *join;
fd = open(map, O_RDONLY);
save = get_next_line(fd);
join = ft_calloc(1, 1);
if (!join)
return (NULL);
while (save != NULL)
{
join = ft_strjoin(join, save);
free(save);
save = get_next_line(fd);
}
parse_map = ft_split(join, '\n');
free(join);
close(fd);
return (parse_map);
}