Example #1
0
void	ft_main2(int fd)
{
	char		*file;
	t_map		map;
	t_tetri		*tetri;

	if (!(file = ft_getfile(fd, &map)) ||
			!(ft_check_file(file)))
		ft_putstr("error\n");
	else
	{
		tetri = ft_create_tetri(map);
		ft_fill(tetri, file, map);
		ft_init_map(&map);
		map.ret = 1;
		ft_solve(tetri, &map);
		while (map.ret == 0)
		{
			map.size++;
			ft_solve(tetri, &map);
		}
		ft_print_map(tetri, map);
		ft_free(&tetri);
	}
}
Example #2
0
void	ft_check_coord(t_env *env)
{
	t_coord		**coord;
	int			i;

	i = -1;
	coord = (t_coord**)malloc(sizeof(t_coord*) * 4);
	env->height = 0;
	env->width = 0;
	while (env->map[env->nb_tetri][++i] != '\0')
	{
		if (env->map[env->nb_tetri][i] == '#' && env->height < 5)
		{
			coord[env->height] = (t_coord*)malloc(sizeof(t_coord));
			coord[env->height]->y = env->width;
			coord[env->height]->x = (i - ((4 + 1) * env->width));
			env->height++;
		}
		if (env->map[env->nb_tetri][i] == '\n')
			env->width++;
	}
	ft_save_coord(env, coord);
	if (!env->ltetri)
		ft_init_list(env, coord);
	else
		ft_create_tetri(env, coord);
	env->index++;
}