fix bug lose
This commit is contained in:
@@ -522,6 +522,7 @@ bool blockBox (char **tab2d, vect box_coor)
|
||||
indice_card[nbr_touch - 1] = i;
|
||||
}
|
||||
}
|
||||
|
||||
if (nbr_touch == 0)
|
||||
return false;
|
||||
|
||||
@@ -572,7 +573,7 @@ bool blockBox (char **tab2d, vect box_coor)
|
||||
|
||||
vect normal = card[indice_card[0]];
|
||||
vect director1 = card[(indice_card[0] + 1) % 4];
|
||||
vect director2 = card[(indice_card[0] + 1) % 4];
|
||||
vect director2 = card[(indice_card[0] + 3) % 4];
|
||||
vect dir_test[2] = { director1, director2 };
|
||||
|
||||
bool wall = false;
|
||||
@@ -583,22 +584,19 @@ bool blockBox (char **tab2d, vect box_coor)
|
||||
while (!wall)
|
||||
{
|
||||
char val = tab2d[current.x][current.y];
|
||||
vect cur_nor = plusVect (current, normal);
|
||||
char val_nor = tab2d[cur_nor.x][cur_nor.y];
|
||||
if (val == WALL)
|
||||
wall = true;
|
||||
if (val == TARGET)
|
||||
else if (val == TARGET)
|
||||
return false;
|
||||
|
||||
vect cur_nor = plusVect (current, normal);
|
||||
val = tab2d[cur_nor.x][cur_nor.y];
|
||||
if (val != WALL || val != BOX || val != BOX_ON_TARGET)
|
||||
else if (val_nor != WALL || val_nor != BOX || val_nor != BOX_ON_TARGET)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
}
|
||||
}
|
||||
return true;
|
||||
perror ("error in blockBox");
|
||||
exit (0);
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
Reference in New Issue
Block a user