java - 有人可以解释一下我在这个二维数组游戏中做错了什么吗

标签 java arrays 2d

我花了 4 天的时间来解决这个问题,并搜索了无数可能的解决方案,现在我正在拔掉我的头发。我试图让扫雷二维字符数组游戏首先计算地雷周围的地雷(基本上是地雷周围的 8 个方 block ),然后将地雷周围的字符转换为整数。如果有人能提供帮助,我将不胜感激。这是明天要交的家庭作业。我感觉自己像个傻瓜,但我确实在这个问题上度过了不眠之夜。 :'( 请有人帮忙 示例 m 是我的 这是 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 |

最佳答案

有一个空语句:

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

注意末尾的分号。

此外,在后面的代码片段中,ij 的循环是多余的。你应该摆脱它们,并且你不应该计算被占领的单元格中的地雷。

关于java - 有人可以解释一下我在这个二维数组游戏中做错了什么吗,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12340075/

相关文章:

java - 他们是如何防止网页抓取的?

java - 使用 intellij 和 jprofiler 分析 junit 测试

java - 如何在 OSX 上从 Java 访问网络路径?

javascript - 在表格单元格内循环对象并创建无序列表

c++ - 内存未完全销毁-内存泄漏

c++ - WIN32 上 "iPhone"风格动画的最佳 2D 动画库/技术?

c# - 我还能做些什么来提高这门课的表现?

c - 使用c中的指针求二维数组中的总和

java - 下载 Oracle 11 的 Adfm.jar

ios - 将一张图像分成多个部分后,如何在 Swift 中使用 UIImage 数组?