#include "entetes.h"


//*************************
//**Fonction decouvrirCase***
//*************************
//Fonction appelée par la fonction  d'au-dessus lorsqu'il y a un clic gauche sans qu'il y ait une bombe
//C'est une fonction définie récursivement.
//Elle s'apelle elle-même sur toutes les cases voisines, jusqu'à ce qu'il y ait un numéro sur une des cases voisines
//*************************

void decouvrirCase(Grille *damier, int i, int j){

	if((*damier).tab[i][j].nbMinesVoisines){ //si il y a des mines autour de la case courante
	(*damier).tab[i][j].etatMine=DECOUVERT;
	}
	else{
	(*damier).tab[i][j].etatMine=DECOUVERT;
	int nbCo=(*damier).config.nbCo;
	int nbLi=(*damier).config.nbLi;


	if(i<nbLi-1){
	if(((*damier).tab[i+1][j].etatMine)!=(DECOUVERT)){decouvrirCase(damier,i+1,j); }
	}
	if(i<nbLi-1 && j>0){
	if(((*damier).tab[i+1][j-1].etatMine)!=(DECOUVERT)){decouvrirCase(damier,i+1,j-1); }
	}
	if(j>0){
	if(((*damier).tab[i][j-1].etatMine)!=(DECOUVERT)){decouvrirCase(damier,i,j-1); }
	}
	if(i>0 && j>0){
	if(((*damier).tab[i-1][j-1].etatMine)!=(DECOUVERT)){decouvrirCase(damier,i-1,j-1); }
	}
	if(i<nbLi-1){
	if(((*damier).tab[i-1][j].etatMine)!=(DECOUVERT)){decouvrirCase(damier,i-1,j); }
	}
	if(i>0 && j<nbCo-1){
	if(((*damier).tab[i-1][j+1].etatMine)!=(DECOUVERT)){decouvrirCase(damier,i-1,j+1); }
	}
	if(j<nbCo-1){
	if(((*damier).tab[i][j+1].etatMine)!=(DECOUVERT)){decouvrirCase(damier,i,j+1); }
	}
	if(i<nbLi-1 && j<nbCo-1){
	if(((*damier).tab[i+1][j+1].etatMine)!=(DECOUVERT)){decouvrirCase(damier,i+1,j+1); }
	}

}

}



