t_tetri *get_pieces_tab(char **raw_tab, int nb_pieces) { t_tetri *lst; int i; char **piece; i = 0; piece = malloc(sizeof(piece) * 5); lst = malloc(sizeof(*lst) * nb_pieces + 1); if (!piece || !lst) return (NULL); while (raw_tab[i] != NULL) { piece[i % 4] = ft_strdup(raw_tab[i]); if ((i + 1) % 4 == 0) { piece[4] = NULL; lst[i / 4] = get_tetrimino(piece); } i++; } free(piece); lst[i].name = '0'; return (lst); }
int main(int ac, char **av) { int n = ac > 1 ? atoi(av[1]) : 4; t_tet **arg1; int i = n; arg1 = (t_tet **)malloc(sizeof(t_tet *) * n); while (i-- > 0) { arg1[i] = (t_tet *)malloc(sizeof(t_tet)); get_tetrimino(i % 8, arg1[i]); } solve(arg1, n); return (0); }