首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >扫雷舰扫雷数

扫雷舰扫雷数
EN

Stack Overflow用户
提问于 2011-08-06 04:04:36
回答 1查看 2.8K关注 0票数 1

嗨,我几乎完成了这个创建扫雷舰类游戏的程序。它完美地编译和运行,游戏显示在GUI客户端程序中,但出现了一个问题。

在玩游戏时,有时会出现a1,当它有超过1个相邻的地雷时,或者当它周围的八个方块中的一个实际上有一个地雷时,会出现0。如有任何帮助/建议,我们将非常感谢!

代码语言:javascript
复制
private void countAdjacentMines()
{        
    // TO DO: STUDENT CODE HERE
    for (int i = 0; i < mineField.length; i++)
    {
        for (int j = 0; j < mineField.length; j++)
        {
            if (!(mineField[i][j].getIsMine()))
            {
                int count = 0;                    
                for (int p = i -1; p <= i + 1; p++)
                {          
                    for (int q = j - 1; q < j + 1; q++)
                    {
                        if (0 <= p && p < mineField.length && 0 <= q && q < mineField.length)
                        {
                            if (mineField[p][q].getIsMine())
                                count++;
                        } // end if
                    } // end for
                } // end for

            mineField[i][j].setAdjacentMines(count);
            } // end if

        } // end for loop rows
    } // end for loop columns
} // end countAdjacentMines
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2011-08-06 04:10:48

你的内部循环的条件是关闭的。

代码语言:javascript
复制
for (int q = j - 1; q < j + 1; q++)

应该是

代码语言:javascript
复制
for (int q = j - 1; q <= j + 1; q++)
                      ^^
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6961994

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档