1
Fork 0
mirror of https://github.com/Steffo99/iiiiil-gioco.git synced 2024-11-21 23:44:21 +00:00

Evitato un freeze quando un nemico era bloccato da tutte e quattro le parti.

This commit is contained in:
Steffo 2016-01-08 14:54:08 +01:00
parent a0038c489e
commit 23bc7bb4f3

View file

@ -290,49 +290,52 @@ class Enemy : public Entity
//Il giocatore non è vicino //Il giocatore non è vicino
else else
{ {
//Muoviti in una direzione casuale if(map[x-1][y] == EMPTY || map[x+1][y] == EMPTY || map[x][y-1] == EMPTY || map[x][y+1] == EMPTY)
bool moving = true;
while(moving)
{ {
int direction = rand() % 4; //Muoviti in una direzione casuale
switch(direction) bool moving = true;
while(moving)
{ {
case 0: //Sinistra int direction = rand() % 4;
if(map[x-1][y] == EMPTY) switch(direction)
{ {
map[x][y] = EMPTY; case 0: //Sinistra
map[x-1][y] = ENEMY; if(map[x-1][y] == EMPTY)
x--; {
moving = false; map[x][y] = EMPTY;
} map[x-1][y] = ENEMY;
break; x--;
case 1: //Destra moving = false;
if(map[x+1][y] == EMPTY) }
{ break;
map[x][y] = EMPTY; case 1: //Destra
map[x+1][y] = ENEMY; if(map[x+1][y] == EMPTY)
x++; {
moving = false; map[x][y] = EMPTY;
} map[x+1][y] = ENEMY;
break; x++;
case 2: //Su moving = false;
if(map[x][y-1] == EMPTY) }
{ break;
map[x][y] = EMPTY; case 2: //Su
map[x][y-1] = ENEMY; if(map[x][y-1] == EMPTY)
y--; {
moving = false; map[x][y] = EMPTY;
} map[x][y-1] = ENEMY;
break; y--;
case 3: //Giù moving = false;
if(map[x][y+1] == EMPTY) }
{ break;
map[x][y] = EMPTY; case 3: //Giù
map[x][y+1] = ENEMY; if(map[x][y+1] == EMPTY)
y++; {
moving = false; map[x][y] = EMPTY;
} map[x][y+1] = ENEMY;
break; y++;
moving = false;
}
break;
}
} }
} }
} }