我正在尝试学习反向工程,并以扫雷作为样本应用程序。 我找到了这篇MSDN文章,介绍了一个简单的WinDbg命令,可以显示所有地雷,但是它已经过时,没有详细解释,并且并不是我要找的东西。 我拥有IDA Pro反汇编器和WinDbg调试器,并将winmine.exe加载到它们两个中。 请问有人能...
这是谷歌编程大赛的一道问题(现已结束)。如何解决此问题? 注意:如果您有不同于答案中讨论的方法,请分享,以便我们扩展解决此问题的不同方法的知识。 问题陈述: 扫雷是一种计算机游戏,在20世纪80年代变得流行,并仍然包含在某些版本的Microsoft Windows操作系统中。这个问题有...
我正在设计一个类似扫雷的游戏(修改了规则),我想防止玩家猜测。我的目标是:生成的棋盘只有很少的方块被揭示,玩家可以在不猜测的情况下解决整个谜题。 维基百科 提到: 一些扫雷实现方式会在设置棋盘时,不在第一个被揭开的方块上放置地雷,或者安排棋盘使得解决方案不需要猜测。 然而,我无法...
我曾经浏览了很多教如何解决它的网站,但我想知道如何创建它。我对它的编码方面不太感兴趣,但想更多地了解其背后的算法。例如,当生成包含10个地雷的网格时,我会使用任意随机函数在网格上分布地雷,但我该如何设置与之相关的数字并决定打开哪个方块呢?我无法构思出通用算法来完成这项工作。
我用Python实现了一个求解扫雷游戏的算法。程序的工作方式如下: 假设求解器点击了一个名为“a”的方格。例如,所揭示数字为2。该方格周围未点击的邻居方格(同样以示例说明)命名为“b”和“c”。然后程序将该方格与表达式[2,{'b','c'}]相关联,并从所有其他表达式中删除“a”。通过两种...
编辑:这是一段时间之前的事情,我已经把它搞定了,如果你想看代码,请访问github.com/LewisGaul/minegaulerQt。 我正在尝试编写一个计算扫雷游戏概率的程序,并且在确定最佳结构方面遇到了一些困难。虽然从下面的示例开始看起来很简单,但我想知道允许更复杂配置的最佳方法。请...
我需要实现扫雷求解器。我已经开始实现基于规则的代理程序,实施了某些规则。我有一个启发式函数来选择当前处理的单元格(带有周围单元格信息)的最佳匹配规则。因此,对于每个选择的单元格,它可以决定对8个周围单元格进行打开、标记或什么也不做的操作。我的意思是,目前,代理程序会将一些已揭示的单元格作为输入...