只有一种可能的解决方案,像流量一样随机级生成?

时间:2012-12-16 05:39:20

标签: algorithm game-development

我在这个问题中实现了标记为正确答案的算法:What to use for flow free-like game random level creation?

但是,使用该方法将创建可能具有多种解决方案的电路板。我想知道是否可以对算法进行任何简单的限制或修改,以确保只有一种可能的解决方案?

solutions

2 个答案:

答案 0 :(得分:1)

创建唯一的Numberlink / Flow Free非常困难。如果你在提及线程中查看我的算法提议,你会发现一个算法,可以让你创建具有必要条件的谜题,解决方案必须没有相同颜色的2x2方块。然而,http://forum.ukpuzzles.org/viewtopic.php?f=3&t=41的讨论表明这是不够的,因为还有许多非平凡的非独特谜题。

从我看这个问题来看,解决这个问题的唯一方法就是有一个单独的算法来测试唯一性,并丢弃不良实例。

有关强大的唯一性测试算法,请参阅https://github.com/imos/Puzzle/tree/master/NumberLink

答案 1 :(得分:0)

我认为你应该实现解算器,它可以找到某个级别的所有解决方案。最简单的方法是回溯。

如果您有多个级别,请逐个采取并寻找解决方案。一旦你找到某个级别的第二个解决方案,就把它扔掉。