int praondeofantasmavai(int xatual, int yatual, int* xdestino, int* ydestino) {
int opcoes[4][2] = { {xatual, yatual +1},
{xatual +1, yatual},
{xatual, yatual -1},
{xatual -1, yatual}
};
for(int i = 0; i < 10; i++) {
if(heroi.x > xatual) {
if(ehvalida(&m, opcoes[1][0], opcoes[1][1])
&& ehvazia(&m, opcoes[1][0], opcoes[1][1])) {
*xdestino = opcoes[1][0];
*ydestino = opcoes[1][1];
return 1;
break;
}
}
else if(heroi.x < xatual) {
if(ehvalida(&m, opcoes[3][0], opcoes[3][1])
&& ehvazia(&m, opcoes[3][0], opcoes[3][1])) {
*xdestino = opcoes[3][0];
*ydestino = opcoes[3][1];
return 1;
break;
}
}
else if(heroi.y > yatual) {
if(ehvalida(&m, opcoes[0][0], opcoes[0][1])
&& ehvazia(&m, opcoes[0][0], opcoes[0][1])) {
*xdestino = opcoes[0][0];
*ydestino = opcoes[0][1];
return 1;
break;
}
}
else if(heroi.y < yatual) {
if(ehvalida(&m, opcoes[2][0], opcoes[2][1])
&& ehvazia(&m, opcoes[2][0], opcoes[2][1])) {
*xdestino = opcoes[2][0];
*ydestino = opcoes[2][1];
return 1;
break;
}
}
else {
srand(time(0));
int posicao = rand() % 4;
if (ehvalida(&m, opcoes[posicao][0], opcoes[posicao][1])
&& ehvazia(&m, opcoes[posicao][0], opcoes[posicao][1])){
*xdestino = opcoes[posicao][0];
*ydestino = opcoes[posicao][1];
return 1;
break;
}
}
}
}