1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53
|
void caseVide(int x, int y, int grilleValeur[XMAX+2][YMAX+2], int grilleUser[XMAX][YMAX], int *compteurVictoire, int *j)
{
//Condition
//Case du dessus
if(x>0 && grilleUser[x-1][y]==0) //On regarde si ça ne dépasse pas du tableau et si la case a déjà était dévoilé
{
if(grilleValeur[x][y+1]==0) //Je regarde si la case est un 0
{
caseVide(x-1,y,grilleValeur,grilleUser,&*compteurVictoire,&*j);//Je répète la fonction
*j=*j+1;//J'incrément ma boucle de 1;
}
grilleUser[x-1][y]=1; //Je dévoile la case
*compteurVictoire = *compteurVictoire+1; //J'incrémente le compteur de victoire de 1
}
//Case de droite
if(y<YMAX-1 && grilleUser[x][y+1]==0)
{
if(grilleValeur[x+1][y+2]==0)
{
caseVide(x,y+1,grilleValeur,grilleUser,&*compteurVictoire,&*j);
*j=*j+1;
}
grilleUser[x][y+1]=1;
*compteurVictoire = *compteurVictoire+1;
}
//Case du bas
if(x<XMAX-1 && grilleUser[x+1][y]==0)
{
if(grilleValeur[x+2][y+1]==0)
{
caseVide(x+1,y,grilleValeur,grilleUser,&*compteurVictoire,&*j);
*j=*j+1;
}
grilleUser[x+1][y]=1;
*compteurVictoire = *compteurVictoire+1;
}
//Case de gauche
if(y>0 && grilleUser[x][y-1]==0)
{
if(grilleValeur[x+1][y]==0)
{
caseVide(x,y-1,grilleValeur,grilleUser,&*compteurVictoire,&*j);
*j=*j+1;
}
grilleUser[x][y-1]=1;
*compteurVictoire = *compteurVictoire+1;
}
} |
Partager