魔方吧·中文魔方俱乐部

 找回密码
 注册
搜索
热搜: 魔方
楼主: skyivben
打印 上一主题 下一主题

从解答步骤还原关卡地图 [复制链接]

Rank: 2

积分
215
帖子
64
精华
1
UID
1303898
性别
跳转到指定楼层
1#
发表于 2011-7-10 13:56:33 |显示全部楼层 |倒序浏览

我写了一个程序,可以从推箱子的解答步骤还原关卡地图。可以访问以下网页:Sokoban: Lurd to Xsb 在线使用该程序。




其算法可以参见我的博客:


已有 2 人评分经验 收起 理由
sokoban + 20 原创内容
anian + 20 原创内容!

总评分: 经验 + 40   查看全部评分

Rank: 2

积分
215
帖子
64
精华
1
UID
1303898
性别
2#
发表于 2011-7-10 15:29:06 |显示全部楼层
再来一幅图片:

使用道具 举报

Rank: 2

积分
215
帖子
64
精华
1
UID
1303898
性别
3#
发表于 2011-7-10 15:31:53 |显示全部楼层

回复 2# 的帖子

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

使用道具 举报

Rank: 2

积分
215
帖子
64
精华
1
UID
1303898
性别
4#
发表于 2011-7-10 16:39:32 |显示全部楼层
继续给出图片:

使用道具 举报

Rank: 2

积分
215
帖子
64
精华
1
UID
1303898
性别
5#
发表于 2011-7-13 09:57:12 |显示全部楼层
非常感谢 anian 和 sokoban 朋友的支持!

使用道具 举报

Rank: 2

积分
215
帖子
64
精华
1
UID
1303898
性别
6#
发表于 2011-7-13 16:12:10 |显示全部楼层
anina 兄您好,您给出的解法步骤中前六步是:UlLLUu。问题就出在第六步,因为第五步是“U”,表示推着箱子往上走一步,而第六步是“u”,表示不推箱子往上走一步,而这是不可能的,第五步中推着的箱子到哪里去了?我在“[url=http://www.cnblogs.com/skyivben/archive/2011/07/03/2096801.html]【算法】从推箱子的解答步骤还原关卡地图[/url]”这篇文章中“解法步骤不合法的情况”小节作了说明:


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

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

使用道具 举报

Rank: 2

积分
215
帖子
64
精华
1
UID
1303898
性别
7#
发表于 2011-7-14 14:38:22 |显示全部楼层
好吧,根据大家的意见,我将修改程序,使之在解法步骤不合法的情况给出相应的信息。

使用道具 举报

Rank: 2

积分
215
帖子
64
精华
1
UID
1303898
性别
8#
发表于 2011-7-15 22:51:33 |显示全部楼层
已经修改程序,对不合法的解法步骤给出相应的提示:Invalid。如下所示:



使用道具 举报

Rank: 2

积分
215
帖子
64
精华
1
UID
1303898
性别
9#
发表于 2011-7-17 07:53:13 |显示全部楼层

回复 16# 的帖子

这是一个很有趣的数学问题,而且好象也很难找到什么数学公式来计算所占的比例。
似乎也只有通过编程来计算了,那么当 n  很大时,计算所需的时间就会太长了,以致于无法完成计算。

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

Archiver|手机版|魔方吧·中文魔方俱乐部

GMT+8, 2024-5-5 16:24

Powered by Discuz! X2

© 2001-2011 Comsenz Inc.

回顶部