我在Eclipse中有这个问题,在Geany看来它运行正常......
void CopiaMaze( int MazeCopia[][COLUMNS])
{
int i,j;
for(i=0; i < ROWS; i++){
for(j=0; j < COLUMNS; j++){
cout << "Fila Columna" << i <<j;
MazeCopia[i][j] = m.getValueMap(i,j);
cout << "Numero" << MazeCopia[i][j] << endl;
}
}
}
我试图复制一个数组,在这种情况下是第19行第40列
用途是:
int inteligentMinimax(int jugador)
{
int minimaxValue=0;
int mazeTemp[ROWS][COLUMNS];
fillCharacters();
bestMovementPath.clear();
CopiaMaze( mazeTemp);
cout << "Paso Copia Maze";
cout << "Characters:" << CharactersLocationsMaze;
cout << "Minimax Value es: " << minimaxValue << "Depth :" << depth << "jugador:" << jugador;
//Inicializo Minimax con los puntos del pacman a cero, direccion sin definir 0 y profunidad 10 que es variable global.
minimaxValue = minimax(mazeTemp, 0, 0, depth, jugador);
cout << "Minimax Value es: " << minimaxValue << "Direction :" << bestMovementPath[1];
return bestMovementPath[1];
}
所以我进入Copia Maze,我得到的最后结果是:
Fila Columna1833Numero0
Fila Columna1834Numero0
Fila Columna1835Numero0
Fila Columna1836Numero0
Fila Columna1837Numero0
Fila Columna1838Numero0
Fila Columna1839Numero0
其中Numero 0是从m.getvaluemap(i,j)得到的正确值......
在此之后它应继续使用cout Paso copiamaze,以表明我通过了copiamaze功能......但它会卡住并崩溃。
任何帮助都会被贬低..
答案 0 :(得分:-1)
正如@PW所示,我认为问题出现在CopiaMaze中,因为程序崩溃并且它不会显示消息&#34; Paso Copia Maze&#34;,如果我通过CopiaMaze,这只是一个注意的信号。
问题在于Minimax代码,你可以解决cerr改变cout的问题,你可以注意到错误来自minimax。那是另一个线索。
感谢您的帮助。