我在这个问题上花了4天时间,并且搜索了无数可能的解决方案,现在我正在拔头发。我试图获得一个扫雷2d角色阵列游戏,首先计算周围的地雷(基本上是矿井周围的8个街区)矿井,然后将矿井周围的人物转换为整数。如果有人能提供帮助,我将不胜感激。这是明天到期的作业。我觉得这样一个假人,但我真的花了不眠之夜来解决这个问题。 :'(有人请帮忙 例子m是我的 这是一个void方法的一部分,它假设检查矿井周围的区域并将它们转换为调用adjacentMines方法的数字
for(this.rows = 0; rows < board.length; rows++) {
for(this.cols = 0; cols < board[rows].length; cols++) {
for(int i = -1; i <= 1; i++) {
for(int j = -1; j <= 1; j++) {
if(i == 0 && j == 0) {
continue;
}
else
if(inBounds(rows + i, cols + j))
board[i][j]=(char)(48+adjacentMines(i,j));
}
}
}
}
}
当我想要这样的东西时
当我选择一个cordinate时,我希望它看起来像这样,其中x是选定的坐标,而不是我的,所以我想像这样输出。上面的数组只是当前状态,我想要数字来替换输出中的e
| 0 | 1 | 0 |
| 0 | x | 1 |
| 0 | 0 | 0 |
答案 0 :(得分:1)
这是一个空洞的陈述:
if(inBounds(row + i, col + j)&&mineBoard[row][col]==true);
注意最后的分号。
此外,在后一段代码中,i
和j
的循环是多余的。你应该摆脱它们,你不应该为被占领的细胞计算地雷。