Génération de labyrinthe en récursif à l'aide de structure
Bonjour , pour un projet scolaire je dois faire un labyrinthe en récursif .
Voilà mon code :
Code:
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 54 55 56 57 58 59 60
| void gen_lab ()
{
srand(time(NULL));
if((cellule.tab[x+1][y]) != (cellule.etat==0))
{
cpt--;
return gen_lab(cellule.tab[x][y],cpt);
}
if((cellule.tab[x][y-1]) != (cellule.etat==0))
{
cpt--;
return gen_lab(cellule.tab[x][y],cpt);
}
if((cellule.tab[x-1][y]) != (cellule.etat==0))
{
cpt--;
return gen_lab(cellule.tab[x][y],cpt);
}
if((cellule.tab[x][y+1]) != (cellule.etat==0))
{
cpt--;
return gen_lab(cellule.tab[x][y],cpt);
}
pos = rand()%3;
if((pos == N)&&(cellule.tab[x+1][y])&&(cellule.etat==0))
{
cpt++;
cellule.etat==1;
cellule.tab[x][y] = cellule.tab[x+1][y];
return gen_lab(cellule.tab[x][y],cpt);
}
if((pos == O)&&(cellule.tab[x][y-1])&&(cellule.etat==0))
{
cpt++;
cellule.etat==1;
cellule.tab[x][y] = cellule.tab[x][y-1];
return gen_lab(cellule.tab[x][y],cpt);
}
if((pos == S)&&(cellule.tab[x-1][y])&&(cellule.etat==0))
{
cpt++;
cellule.etat==1;
cellule.tab[x][y] = cellule.tab[x-1][y];
return gen_lab(cellule.tab[x][y],cpt);
}
if(((pos == E)&&(cellule.tab[x][y-1]))&&(cellule.etat==0))
{
cpt++;
cellule.etat==1;
cellule.tab[x][y] = cellule.tab[x][y-1];
return gen_lab(cellule.tab[x][y],cpt);
}
} |
Ça c'est la fonction . et ça mon headers :
Code:
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
| struct cellule
{
int N;
int E;
int O;
int S;
int etat;
int tab[9][9];
};
N = 0;
E = 1;
S = 2;
O = 3;
int cel_dep;
int cel_temp;
int x = 0;
int y = 0;
int pos;
int cpt = 0; |
Alors voilà le tout compile avec mon main est tout mais directement j'ai le message comme quoi ça à cessez de fonctionner,je pense que je n'utilise pas bien ma structure, alors merci à ceux qui vont bien vouloir m'expliquer.
PS : pas de troll pour me dire que mon orthographe ne va pas ou autre, je viens demander de l'aide et rien d'autre.