问题标签 [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 投票
10 回答
24638 浏览

reverse-engineering - 如何在内存中找到代表 Minesweeper 排雷布局的数据结构?

我正在尝试使用 Minesweeper 作为示例应用程序来学习逆向工程。我在一个简单的 WinDbg 命令上找到了这篇MSDN 文章,该命令显示了所有地雷,但它很旧,没有详细解释,也不是我想要的。

我有IDA Pro 反汇编器和WinDbg 调试器,并且我已经将 winmine.exe 加载到它们中。有人可以为这些程序中的任何一个提供一些实用技巧,以查找代表雷场的数据结构的位置吗?

在WinDbg中我可以设置断点,但是我很难想象在什么点设置断点以及在什么内存位置。同样,当我在 IDA Pro 中查看静态代码时,我什至不确定从哪里开始找到代表雷区的函数或数据结构。

Stackoverflow 上是否有任何逆向工程师可以为我指明正确的方向?

0 投票
8 回答
58570 浏览

algorithm - 扫雷求解算法

我很确定你们中的大多数人都知道扫雷游戏。我想(在 C# 中)编写我自己的扫雷游戏,并且正在寻找一些关于什么是该游戏的好算法的输入。我已经在网上浏览了很长一段时间,但找不到一个好的解决方案。有人可以帮我吗?

0 投票
3 回答
2334 浏览

java - 单击确定按钮后,消息对话框重新出现

在之前得到很好的帮助后,我已经完成了我的扫雷游戏。但是,有一个问题我想不通。游戏本身运行良好,但是,我可以选择让用户更改难度设置(初级、中级、高级),这让我很伤心。用户从 JMenuBar 中选择“游戏”,然后从下拉菜单中选择“更改难度”。这调用方法 selectDifficulty() 打开一个 JOptionMessageBox ,它使用 JRadioButtons 让用户选择 4 个选项之一(第 4 个是自定义 - 但是我还没有实现)。当用户第一次更改难度模式时,对话框似乎可以正常工作。但是,当用户第二次或多次尝试更改难度时,游戏执行设置,然后对话框重新出现并提示用户再次选择难度。这有时会在离开之前重复两次,有时最多重复 4 或 5 次。我会很感激任何帮助,因为我不知道为什么会这样。

另外,我也希望能得到一些关于如何改进难度设置变化的建议。就目前而言,代码删除了 JPanel 和雷区(由 Buttons 制成)并使用新的难度设置重新实例化按钮/Japanels。有没有办法让这更有效?

有一个逻辑类和一个 GUI 玻璃。上述两个问题都存在于 GUI 类中。

完整代码:GUI 类

逻辑类:导入 java.awt.* ;

0 投票
2 回答
1729 浏览

minesweeper - 为我的游戏创建 2D 数组


您好
,我正在尝试创建“我的游戏”的模拟


假设我们有矩阵
0 0 0 0
0 0 -1 0
0 0 0 -1
0 -1 0 -1


现在每个不等于 -1 的单元格应该代表
这里的地雷数代码 for(int i=0;i


我的算法

iLEFT 当前行左步。
iRIGHT 当前行右移。
列的 jLEFT 和 JRIGHT 相同
假设 i=0,因此如果 i=1,我们只能向右(向下)
迈出一步,我们可以加强并完成..对于 j


“案例声明”更新 iLEFT/iRIGTH 和 jLEFT/jRIGHT 以启用侧边步骤
现在“if”语句检查左/右上/完成框 [i][j] 的 2 个对角线(始终只有一步)
计数计数性能 - box[i][j] 的 1 个相邻值


你可以看到我仍然对相同的单元格进行双重检查
0 1 1 1
0 1 -1 2
1 2 4 -1
2 -1 4 -1

0 投票
3 回答
24275 浏览

algorithm - 扫雷生成背后的算法是什么

好吧,我已经通过许多网站教授如何解决它,但想知道如何创建它。我对它的编码方面不太感兴趣,但想更多地了解它背后的算法。例如,当网格由大约 10 个地雷生成时,我会使用任何随机函数将自身分布在网格中,但我又该如何设置与其关联的数字并决定打开哪个盒子?我无法制定任何通用算法来说明我将如何去做。

0 投票
3 回答
2496 浏览

java - Java扫雷游戏问题。游戏开始时隐藏地雷?

当游戏开始时,我已经能够成功地启动一个雷区,其中 10 个地雷随机散布在场上。但是,当游戏开始时,我在向用户隐藏这些地雷时遇到了问题。如您所知,扫雷的目的是在无法看到地雷的情况下找到地雷的位置。我需要帮助弄清楚如何隐藏地雷。

下面是我为我的 Grid 类编写的代码,它启动网格并包含一个用地雷填充它的方法。我怎样才能隐藏这些地雷,只有在点击它们时才显示它们?谢谢您的帮助!

0 投票
1 回答
931 浏览

jquery - jquery递归函数

我试图在 jquery 中制作一个扫雷游戏。

当用户单击表格单元格时,会检查方框中是否有数字或 x。如果没有,则调用此函数并将表格单元格传递给它。

该函数将所有相邻的方格返回到单击的方格,然后它们被揭开。

问题是,从最初返回的相邻方格的选择中,我如何检查它们是否为空,如果是,则获取与它们相邻的方格,然后发现它们并检查它们是否为空... .直到所有与被点击方格相邻的空方格都被揭开?

0 投票
4 回答
2911 浏览

c++ - UVA 10189:扫雷

这是问题的链接:http ://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&category=13&page=show_problem&problem=1130

这是我的代码,它运行良好;但是,每当我提交它时,它都会给出错误的答案。有人知道为什么吗?

注意:我用 2 个额外的行和列填充矩阵,这样当我检查第一列的左侧或最后一行的底部时,我不会收到错误消息。

0 投票
1 回答
5811 浏览

python - 使用 Tkinter 的带有 GUI 的 Python 扫雷游戏如何正确显示在按钮上?

我正在 python 2.7 中创建一个扫雷游戏。我在尝试创建 GUI 时遇到了几个问题。对于一些基本的设置窗口,我使用了一个名为 easyGUI 的库(可在此处找到:http ://easygui.sourceforge.net/ ),但这不是我的问题。问题在于实际的扫雷窗口本身。我不确定如何在右键单击时放置标志,或者在左键单击空间时运行递归“location_reveal”函数。另一个问题是如何更改按钮上的文本以表示有多少边界地雷,以及每次用户做出决定时标志的位置。我遇到了一个巨大的问题,因为我认为我可以每次都销毁窗口并使用更新重新创建它,但这也不起作用。任何帮助将不胜感激。

0 投票
4 回答
851 浏览

java - java扫雷游戏中的Stackoverflow异常

我试图用 Java 制作一个扫雷游戏,但我一直遇到这个错误。此函数将当前方块设置为单击,并将任何相邻的方块设置为单击并递归继续。当它用完正方形时它应该停止,但即使我将字段大小设置为 2x2 和 0 个地雷,它也会溢出。

问题解决了,我错过了“m”。在我的方法调用中。感谢大家的帮助。