我有一個包含ASCII地圖的二維數組。我有另一個叫botLook()
的函數,它需要將地圖的一部分存儲到另一個2D數組中。這是機器人可以看到的地圖的一部分。我已經寫了一個函數到目前爲止,但仍然越界越界錯誤。機器人可以在其自身周圍看到半徑2。將二維數組的一部分保存到另一個二維數組中Java
public char[][] botLook3(){
char[][] show = new char[5][5];
int i = 0;
int j = 0;
for (int x = posX-2; i<posX+3; x++){
for (int y = posY-2; y<posY+3; y++){
if (i>=0 && i<rows && j>=0 && j<cols){
System.out.println(i);
System.out.println(j);
if(Math.abs(posX-i)+Math.abs(posY-j)<4){
show[x][y] = myWorld[i][j];
}else{
show[x][y] = 'X';
}
}else{
show[x][y] = '?';
}
i++;
}
j++;
}
return show;
}
這是我收到的錯誤信息;
Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 12
at GameLogic.botLook2(GameLogic.java:67)
at PlayGame.main(PlayGame.java:32)
謝謝,Ciaran。
是什麼POSX&波西? – Kick
機器人在二維數組中的當前位置。 – user202051
posX和posY initail具有什麼價值? – Kick