//
//  init_main.c
//  labyrinthe
//
//  Created by léo LELLOUCHE on 11/04/2016.
//  Copyright © 2016 léo LELLOUCHE. All rights reserved.
//

#include "header.h"

int     ajustement_size(int size)
{
    if ((size % 4) == 0)
        size = size + 2;
    else if ((size % 4) == 1)
        size = size + 1;
    else if ((size % 4) == 3)
        size = size + 3;
    return (size);
}

int     scanf_size(void)
{
    int size;
    printf("Quel taille de labyrinthe voulez-vous ?\n");
    printf("La taille doit être superieur a 4 et inferieur à 200\n\n");
    printf("$>");
    scanf("%d", &size);
    
    if ((size > 200) || (size < 4))
    {
        ft_clear();
        printf("Taille incorrecte\n");
        return (scanf_size());
    }
    // Ajuste la taille de la map pour avoir une taille qui permettra de manupuler plus facilement le labyrinthe !
    size = ajustement_size(size);
    ft_clear();
    return (size);
}

void    free_2d(char **tab, int i, int size)
{
    free(tab[i]);
    tab[i] = NULL;
    if (i + 1 < size)
        free_2d(tab, i + 1, size);
    
}

int     *choix_initiaux(void)
{
    int *choix;
    
    choix = malloc(sizeof(int) * 2);
    printf("Vous voulez :\n");
    printf("1. Nouvelle partie\n");
    printf("2. Reprendre une partie\n");
    scanf("%d", &choix[0]);
    ft_clear();
    printf("Vous voulez :\n");
    printf("1. Résoudre le labyrinthe vous meme\n");
    printf("2. Tester la résolution automatique\n");
    scanf("%d", &choix[1]);
    if (((choix[0] != 1) && (choix[0] != 2)) || ((choix[1] != 1) && (choix[1] != 2)))
    {
        printf("Choix incorrect !\n");
        return (choix_initiaux());
    }
    return(choix);
}