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
|
||||
else
|
||||
{
|
||||
//Muoviti in una direzione casuale
|
||||
bool moving = true;
|
||||
while(moving)
|
||||
if(map[x-1][y] == EMPTY || map[x+1][y] == EMPTY || map[x][y-1] == EMPTY || map[x][y+1] == EMPTY)
|
||||
{
|
||||
int direction = rand() % 4;
|
||||
switch(direction)
|
||||
//Muoviti in una direzione casuale
|
||||
bool moving = true;
|
||||
while(moving)
|
||||
{
|
||||
case 0: //Sinistra
|
||||
if(map[x-1][y] == EMPTY)
|
||||
{
|
||||
map[x][y] = EMPTY;
|
||||
map[x-1][y] = ENEMY;
|
||||
x--;
|
||||
moving = false;
|
||||
}
|
||||
break;
|
||||
case 1: //Destra
|
||||
if(map[x+1][y] == EMPTY)
|
||||
{
|
||||
map[x][y] = EMPTY;
|
||||
map[x+1][y] = ENEMY;
|
||||
x++;
|
||||
moving = false;
|
||||
}
|
||||
break;
|
||||
case 2: //Su
|
||||
if(map[x][y-1] == EMPTY)
|
||||
{
|
||||
map[x][y] = EMPTY;
|
||||
map[x][y-1] = ENEMY;
|
||||
y--;
|
||||
moving = false;
|
||||
}
|
||||
break;
|
||||
case 3: //Giù
|
||||
if(map[x][y+1] == EMPTY)
|
||||
{
|
||||
map[x][y] = EMPTY;
|
||||
map[x][y+1] = ENEMY;
|
||||
y++;
|
||||
moving = false;
|
||||
}
|
||||
break;
|
||||
int direction = rand() % 4;
|
||||
switch(direction)
|
||||
{
|
||||
case 0: //Sinistra
|
||||
if(map[x-1][y] == EMPTY)
|
||||
{
|
||||
map[x][y] = EMPTY;
|
||||
map[x-1][y] = ENEMY;
|
||||
x--;
|
||||
moving = false;
|
||||
}
|
||||
break;
|
||||
case 1: //Destra
|
||||
if(map[x+1][y] == EMPTY)
|
||||
{
|
||||
map[x][y] = EMPTY;
|
||||
map[x+1][y] = ENEMY;
|
||||
x++;
|
||||
moving = false;
|
||||
}
|
||||
break;
|
||||
case 2: //Su
|
||||
if(map[x][y-1] == EMPTY)
|
||||
{
|
||||
map[x][y] = EMPTY;
|
||||
map[x][y-1] = ENEMY;
|
||||
y--;
|
||||
moving = false;
|
||||
}
|
||||
break;
|
||||
case 3: //Giù
|
||||
if(map[x][y+1] == EMPTY)
|
||||
{
|
||||
map[x][y] = EMPTY;
|
||||
map[x][y+1] = ENEMY;
|
||||
y++;
|
||||
moving = false;
|
||||
}
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue