我的洪水填充方法:簡單洪水填充方法將導致錯誤計算器
public void fillNeighbours(int x, int y) {
for(int i = -1; i < 2; i++) {
for(int j = -1; j < 2; j++) {
try {
visible[x+i][y+j] = true;
if(num[x+i][y+j] == 0) {
fillNeighbours(x+i, y+j);
}
} catch (ArrayIndexOutOfBoundsException ignored) {}
}
}
}
即catch (ArrayIndexOutOfBoundsException ignored) {}
有用於避免從去所述陣列的外x和/或y位置。數組大小是30乘30。我正在製作掃雷遊戲。所以你可能知道爲什麼我需要這種方法以及它應該如何工作。如果你不知道什麼是掃雷艇那麼這裏就是關於那場比賽的快速視頻:Introduction to minesweeper
你應該幾乎從不忽略/吞下這樣的例外。 –
1.計算你的界限,不要使用arrayIndexOutofBoundsExceptions! 2.從你的代碼片斷中,我們看不到任何會終止你的循環的東西。你一直在調用fillNeighbours。檢查是否您的NUM [X + 1] [Y + J]改爲別的東西比0 –