sigil puzzle

sigil puzzle

正文


sigil puzzle image 1

sigil puzzle image 2
sigil puzzle image 3
sigil puzzle image 4

这是一个很有趣的解谜游戏。

但是游戏中的俄罗斯方块拼版到了游戏的中后期就会变成力气活。

所以我写了{LINK REMOVED} 一个简陋的小程序来解决这个麻烦。

它看起来大概是这个样子:

看不懂怎么用的话我稍稍解释一下。

1.双击TetrisPuzzle.exe启动一个命令行程序。

2.输入拼版的行数和列数,格式是:行数 列数。然后回车。

3.输入第一种俄罗斯方块的类型编号和数量,格式是:类型编号 个数。然后回车。

额,类型编号和形状的对应关系如下(你们这么聪明一定看得懂!):

比如L型的俄罗斯方块有3块,就输入“3 3”.

4.继续输入其它的俄罗斯方块,直到全部输入完毕。

5.输入-1,回车。

然后程序会思考一小会儿给出一个最容易找到的答案。然后继续搜索所有可能的答案。如果你并不感兴趣,关掉这个程序就可以了。

举例说明。

比如下面这块板(这是我从别人的帖子里盗的图):

它是8行5列的,所以先输入8 5然后回车。

有两个1号方块,输入1 2,回车。

有一个2号方块,输入2 1,回车。

以此类推,全部输入像是这样:

8 5

7 2

6 2

5 1

3 2

2 1

1 2

-1

然后不到一分钟的时间,程序会给出最容易找到的答案。

77755

37755

37771

33111

61116

61226

62236

63336

这些数字就对应了形状在拼版上的位置。

:)

我放到了百度网盘上:

{LINK REMOVED} http://pan.baidu.com/s/1kUbuhQf

{LINK REMOVED} http://pan.baidu.com/s/1i4l7HfJ

我自己使用的过程中发现了bug。所以原来的删掉不能用了。更新了解决掉bug的版本。

1.1版改动:

1. 改善了内存使用的情况,略微提升性能。

2. 去除了存在多个相同形状时的重复尝试,显著提升了的性能。

但是因为对于12片的puzzle仍然要1分钟左右的时间才能出第一个结果,所以对于大家没有什么实际意义。所以没有发布出来。

1.2版改动:

1. 改善了内存使用的情况,略微提升性能。

2. 去除了对某些明显不可能的情况的尝试,显著提升了性能。

3. 增加了计时功能。

4. 改善了第一屏的排版,让所有提示都能在一屏之内显示完。

1.1版完成之后我在Google上试图寻找更快的解法。结果找到了dosse91的网站[adolfintel.com] 。用过之后我觉得他的程序非常快。解决12块的puzzle时立即能得到结果。所以我觉得肯定还有其它的剪枝方法。然后我就想到了1.2版中去除对那些明显不可能情况的尝试的办法。看了dosse91的源码之后发现我们的想法不谋而合。

1.2版在这里下载:

{LINK REMOVED} http://pan.baidu.com/s/1pK2WQKz

Source: https://steamcommunity.com/sharedfiles/filedetails/?id=571620050					

More The Talos Principle guilds