问题标签 [minesweeper]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
675 浏览

java - 显示扫雷游戏中的所有空间

我用 jbuttons 做了一个扫雷游戏,但我不知道如何在你输掉之后再次访问所有按钮以显示最终游戏。我使用带有 jbuttons 的 setText 方法来设置文本,但我不知道如何再次访问它们。如果有帮助,这就是我创建所有按钮的方式:

我可以将其更改为一组 jbuttons,但我认为我不能通过这些来揭示它们。欢迎任何建议。

0 投票
1 回答
209 浏览

arrays - Java 的级联和显示

我正在制作一个 Java Mine Sweeper 程序。到目前为止,除了级联和显示之外,一切都很顺利。我不断收到 StackOverFlowError。有人可以看看并帮助我吗?谢谢!

revealCell 是我的方法,对于我在学校的实际课程,我们必须使用递归。我认为这是我们应该做的,但我遇到了错误。

0 投票
2 回答
5206 浏览

algorithm - 扫雷的算法解决方案

我正在尝试制作扫雷求解器。如您所知,有两种方法可以确定雷区中的哪些字段可以安全打开,或者确定哪些字段已被挖掘并且您需要标记它。第一种确定方法是微不足道的,我们有这样的事情:

if (X 周围的地雷数量 – X 周围当前发现的地雷数量) = X 周围未开垦的田地数 那么 X 周围所有未开垦的田地都被开采

如果(X 周围的地雷数量 == X 周围发现的当前地雷数量)则 X 周围的所有未开垦区域都未被开采

但我的问题是:当我们找不到任何已开采或安全的场地并且我们需要查看多个场地时,情况会怎样?

http://img541.imageshack.us/img541/4339/10299095.png

比如这种情况。我们无法使用以前的方法确定任何内容。因此,对于这些情况,我需要算法方面的帮助。

我必须使用 A* 算法来做到这一点。这就是为什么我需要所有可能的安全状态来进行算法的下一步。当我找到所有可能的安全状态时,我会将它们添加到当前最短路径中,并根据启发式函数对路径列表进行排序并选择下一个需要打开的字段。

0 投票
2 回答
1414 浏览

java - 用于级联显示的扫雷递归

所以我有一种方法可以在扫雷游戏中级联显示。我有一个解决方案板和一个当前网格。但问题是,当我遇到 0 个空格时,递归调用时会出现堆栈溢出错误。

有没有人有任何想法?

0 投票
1 回答
1992 浏览

java - 初学者:JButton/Gridlayout(类似于扫雷)

我是 Java 的初学者,最终我想为我正在为高级项目制作的机器人创建代码。我计划让机器人以指定的模式建立多米诺骨牌,然后将其击倒。我首先需要编写一个程序,允许我选择要放置在网格上的多米诺骨牌。然后我计划让程序为 Arduino 打印一个新程序。

作为测试和学习,我想用 JButtons 制作一个 20x40 的网格。然后,我想单击几个 Jbutton,然后将 Jbutton 值添加到新数组中。前任。我单击第 1、5、30 和 799 个按钮。然后程序会将它们添加到一个新数组 wherearray[0]=1array[2]=5;

我花了很多时间反复试验并在网上寻找这段代码:现在的问题是它似乎正在跳过 Buttongrid 方法(?)。如果我将方法设为 public static void main (String [] args){,则动作监听器不起作用。

再说一次,我才刚刚开始,所以如果有很多事情是错误的,我不会感到惊讶。请看看它并帮助我找出我必须解决的问题。谢谢

0 投票
1 回答
298 浏览

arrays - Minesweeper C++ - 从文件构建数组时遇到问题

对于家庭作业,我正在制作一个简单的文本扫雷程序。我需要从将随机生成的文本文件中读取数组参数,但要首先构建程序,我使用的是已知的示例文件。然而,当我读到它时,我只会得到一堆乱七八糟的文字——0xbf 后面跟着一些字母,我认为这是 Unicode。但是,我可以使用 infile 将前两个值分配给数组维度。任何帮助表示赞赏!

当我运行程序时, i 和 j 会出现正确的值。但是,该阵列似乎根本没有被构建。从文本文件构建数组的正确方法是什么?

0 投票
1 回答
2679 浏览

java - 二维字符数组扫雷游戏循环

我是一名 Comp Sci 学生,正在学习 Comp Sci。现在我们正在做一个年终项目,这是一个使用 java 的基于文本的扫雷游戏。对于第一部分,我们假设将 5x5 扫雷板表示为 2 D 字符数组,并手动添加炸弹位置,然后更新指示相邻炸弹的数字。然后我们创建将代表的板的第二个表示细胞是否已被揭示。

之后我们需要编写以下方法:

print Board(char[][] board, Boolean[][] is Revealed):以文本形式将扫雷板打印到屏幕上。请记住,印制板应反映已显示哪些单元格。

reveal Cell(int row, int col, Boolean[][] game board, char[][] answers board):在要显示单元格时适当修改状态数组,同时根据扫雷的规则。

然后我们必须编写一个包含这两种方法的主游戏循环,同时检查玩家是赢还是输。

我已经完成了印刷板和显示单元的方法,我只需要制作一个游戏板和游戏循环来测试它。

我们不能大声使用 java.lang 之外的类或模块(不要导入任何库)。

这是我的代码:
public static void main(String[] args) {

0 投票
1 回答
136 浏览

algorithm - 最短路径的AI算法可能解决方案

我需要关于扫雷游戏启发式的建议。如果找到 10 个没有我的字段,我很好奇如何估计下一个要打开的字段是什么?我正在考虑在每个带有数字的字段周围寻找地雷的可能性,并在计算结束时选择一个可能性最小的字段,但我认为这不会给我带来好的结果,因为我需要打开已经安全的字段以及什么我需要的是打开一个字段,它将打开板上最大的区域。我想阅读好的想法,但只是没有作弊算法。

0 投票
1 回答
512 浏览

python - 用 Python 制作扫雷器,我需要帮助更改图块

我正在尝试在 Python 中重新创建扫雷器,并且当我尝试在 IDLE 中运行代码时,我现在的问题是,当用户输入他们的坐标时,我如何才能将位置从“X”变为“-”,即一块空白的瓷砖。此外,我不介意如何改进我的代码的任何提示。谢谢!

0 投票
0 回答
303 浏览

java - 扫雷代码的级联显示

我正在制作一个 Java Mine Sweeper 程序。到目前为止,除了级联和显示之外,一切都很顺利。检查是否有其他没有炸弹的空间的方法是什么。有人可以看看并帮助我吗?任何帮助,将不胜感激。谢谢!