0

我在这个问题上花了 4 天时间,搜索了无数可能的解决方案,现在我要拔头发了。我试图让扫雷二维字符数组游戏首先计算地雷周围的地雷(基本上是地雷周围的 8 个街区)然后将地雷周围的字符转换为整数。如果有人可以提供帮助,我将不胜感激。这是明天要交的作业。我觉得自己像个傻瓜,但我确实在这个问题上度过了不眠之夜。:'( 有人请帮助示例 m is mine here 是 void 方法的一部分,该方法假设检查矿井周围的区域并将其转换为调用相邻矿井方法的数字

    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));

                            }
                        }

            }
    }      
    }           

当我想要这样的东西时,我希望它在选择坐标时看起来像这样,其中 x 是选定的坐标而不是我的坐标,所以我想要这样的输出。上面的数组只是当前状态,我想用数字替换输出中的 e | 0 | 1 | 0 | | 0 | x | 1 |
| 0 | 0 | 0 |

4

1 回答 1

1

有一个空语句:

if(inBounds(row + i, col + j)&&mineBoard[row][col]==true);

注意末尾的分号。

此外,在后面的代码片段中, fori和的循环j是多余的。你应该摆脱它们,而且你不应该计算被占用的牢房的地雷。

于 2012-09-09T15:00:54.437 回答