有人可以解释我在这个2D阵列游戏中做错了什么

时间:2012-09-09 14:49:21

标签: java arrays 2d

我在这个问题上花了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 |

1 个答案:

答案 0 :(得分:1)

这是一个空洞的陈述:

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

注意最后的分号。

此外,在后一段代码中,ij的循环是多余的。你应该摆脱它们,你不应该为被占领的细胞计算地雷。