我正在设计类似《扫雷》的游戏(具有经过修改的规则),并且我想防止玩家猜测。我的目标是:生成的棋盘上几乎没有显示正方形,并且玩家无需任何猜测即可解决整个难题。
维基百科提到:
Minesweeper的某些实现将通过从不在所显示的第一个正方形上放置地雷,或通过排列电路板来设置该电路板,从而使解决方案无需猜测。
但是,我无法弄清楚该算法。
改进:在生成器旁边运行求解器,确保拼图具有唯一的解决方案。这需要一些技巧,并且在大多数变体中都没有做到。
我怀疑这是否真的有效。众所周知,扫雷器是NP完整的。
总而言之,我的问题是:
Simon Tatham的Portable Puzzle Collection中的Minesweeper的实现无需猜测。(它也是麻省理工学院的许可,因此,如果您愿意,可以自由复制他的实现。)