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:
parent
a0038c489e
commit
23bc7bb4f3
1 changed files with 44 additions and 41 deletions
85
main.cpp
85
main.cpp
|
@ -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;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue