skyivben 发表于 2011-7-10 13:56:33

从解答步骤还原关卡地图

我写了一个程序,可以从推箱子的解答步骤还原关卡地图。可以访问以下网页:Sokoban: Lurd to Xsb 在线使用该程序。
http://images.cnblogs.com/cnblogs_com/skyivben/242150/o_lurd2xsb01.png

其算法可以参见我的博客:
[*]【算法】从推箱子的解答步骤还原关卡地图[*]在 ASP.NET 网页中显示动态生成的图片

chzhy 发表于 2011-7-10 15:16:16

哈哈,楼主的程序和之前金优兄的程序有得一比,非常类似,试了一关,还原的地图和金优的那个一样。很好,我不懂程序,支持你!

skyivben 发表于 2011-7-10 15:29:06

再来一幅图片:http://images.cnblogs.com/cnblogs_com/skyivben/242150/o_lurd2xsb02.png

skyivben 发表于 2011-7-10 15:31:53

回复 2# 的帖子

谢谢您的支持。 :)
如果您有什么意见和建议,请在这里提出,或者到博客园中我的博客中提出,以便我改进程序。谢谢!

skyivben 发表于 2011-7-10 16:39:32

继续给出图片:http://images.cnblogs.com/cnblogs_com/skyivben/242150/o_lurd2xsb03.png

anian 发表于 2011-7-10 23:30:15

感谢分享!      :handshake

sokoban 发表于 2011-7-11 09:50:04

非常好的在线工具,添加到sokoban.ws的友情连接了

skyivben 发表于 2011-7-13 09:57:12

非常感谢 anian 和 sokoban 朋友的支持!

anian 发表于 2011-7-13 13:23:46

skyivben兄, 你的程序有个bug。 (和XhtXsb.exe有同样的bug)

请试试这个LURD: (这个LURD是我以前用来测试 LURD2XSB程序的)
UlLLUuuluLlDlldddrRRRRRRRRRRdrUllllllllllllulldRRRRRRRRRRRRRuRRlDllllllluuululldDDuulldddrRRRRRRRRRRdRRlUllllllluuulLulDDDuulldddrRRRRRRRRRRuRDllllllluuulluuurDDuullDDDDDuulldddrRRRRRRRRRRRRlllllllluuuLLulDDDuulldddrRRRRRRRRRRRldR


skyivben 发表于 2011-7-13 16:12:10

anina 兄您好,您给出的解法步骤中前六步是:UlLLUu。问题就出在第六步,因为第五步是“U”,表示推着箱子往上走一步,而第六步是“u”,表示不推箱子往上走一步,而这是不可能的,第五步中推着的箱子到哪里去了?我在“【算法】从推箱子的解答步骤还原关卡地图”这篇文章中“解法步骤不合法的情况”小节作了说明:

http://images.cnblogs.com/cnblogs_com/skyivben/201107/201107052050402758.pnghttp://images.cnblogs.com/cnblogs_com/skyivben/201107/201107052050405234.pnghttp://images.cnblogs.com/cnblogs_com/skyivben/201107/201107052050401297.png
上面三幅关卡地图分别是从“LURD”、“Rrr”和“RL”解法步骤中还原出来的。对于这些不合法的解法步骤,本程序也不报错。本程序只保证合法的解法步骤能够还原出正确的关卡地图。此外,本程序还忽略解法步骤中“lurdLURD”以外的所有字符。

也就是说,我的程序对不合法的解法步骤并不报错(XhtXsb.exe应该也是这样),只保证合法的解法步骤能够还原出正确的关卡地图。
当然,如果大家认为对不合法的解法步骤需要报错的话,我也可以修改程序。
感谢您的指正。
页: [1] 2
查看完整版本: 从解答步骤还原关卡地图