在线华容道游戏的炮制手记 – 华容道资料大全/索引(目前最全)

作者:半瓶墨水   链接:http://www.2maomao.com/blog/hrd-youxifayaa-birth-log/

=====================================
插播一则广告

发芽网华容道精装版App发布啦(iPhone和iPad版), 点击查看
https://itunes.apple.com/cn/app/fa-ya-wang-hua-rong-dao-jing/id599917734

还是一样的精装版,一样的过关记录回放,精致的过关特效,方便的操作,精美的配乐。
包含发芽网华容道在线版的所有布局以及许多首手机程序独有的布局。
=====================================

当初开始做发芽网的时候,是为了练习web编程(Django),这是之前没有探索过的领域

从小到大,我都一直保持着旺盛的求根追底的欲望。
代码发芽网的时候,我收集了网上十几种高亮软件,更是实践过不少,甚至因此而导致机器染毒
最终选择了Pygments,在client端改进以后,实现了我想要的各种功能。

在线华容道游戏的时候,花了好多个晚上搜集资料,终于有把握做到目前为止的最全最有学术风格的在线华容道

————————————–自恋的分界线————————————–

好吧,回到主题。

华容道游戏的背景
=======================
华容道游戏取自著名的三国故事。
曹操在赤壁大战中被刘备和孙权的“苦肉计”、“火烧连营”打败,被迫退逃到华容道,又遇上诸葛亮的伏兵。
关羽为了报答曹操对他的恩情,明逼实让,终于帮助曹操逃出了华容道。
游戏就是依照“曹瞒兵败走华容,正与关公狭路逢。只为当初恩义重,放开金锁走蛟龙”这一故事情节。

华容道游戏的定义
=======================
一般说起华容道是指由10个滑块构成的滑块游戏,1个2×2,5个1×2(或2×1),四个1×1滑块,如下图所示:

2×2的滑块代表曹操
1×2和2×1的滑块代表蜀将:张飞赵云马超黄忠关羽
1×1的滑块,代表蜀兵

注意,华容道只是滑块游戏的一种。记得小时候玩过重排十五,就是4×4的方格里面只有15个格子,要一点点的把打散的1-15标号的小块滑动、归位。还有一种是拼人脸或者风景画的,也是类似的游戏。这类有系统称滑块游戏。
还有哪些滑块游戏?
我在找资料的过程中找到了一个国外游戏强人Rob的收藏网页,看到瞠目结舌,简直是我的偶像啊!
你可以点击这里看看他收藏的滑块游戏,光这个就有够看的,你甚至可以看到华容道的多种变体,很多都有专利的哦。

华容道的荣誉
=======================
1. 与法国的“独立钻石”和匈牙利的“魔方”合称游戏界的三大不可思议
2. 与七巧板、九连环合称“中国的难题

华容道的规则
=======================
1. 过关目标:利用两个空位移动滑块,将曹操移到出口
2. 过关目标(扩展1):对于非左右镜像的开局,要求玩到左右镜像为结局,否则,要求玩到上下镜像为开局。
  这个。。。我只能说,游戏和自虐,有时候真是不容易分清啊。。。

华容道的开局
=======================
花容道的理论上的开局有很多种,到底有多少种,不知道。呵呵其实用计算机比较好枚举的,不过没多大意义罢了。
呵呵,首先说一下标准的“开局”的定义:
1. 曹操位于出口的对立位置,一般出口在下方,所以曹操一般位于最上方的正中
2. 开局的步骤不能是其他开局求解路径的中间结果。鄙人以为,加上“最短求解路径”可能会好些。
后来标准放宽了,曹操位置也不一定为最上方的正中了,重复或者近似重复的开局也很多了。

这个部分是我花时间最多的地方,国内的网页,搜索结果很多,信息量却很小,大部分是抄来抄去。
那就搜索一下英文的资料吧:目前最好的方式一是搜索Huarong Path或者Huarong Dao,或者,就混合一下“华容道”和Klotski(波兰语,意为“方块”)
大多数的开局,都能在维基百科的繁体条目華容道 (遊戲) 找到

我搜集的华容道开局见这里(图文并茂,可直接开玩):华容道开局(关卡)大全

在线华容道游戏的制作
=======================
受到iPhone上滑块游戏别人给做的中国风格界面的启发,我想做一款看起来古朴的华容道游戏
由于该作者只说到图片来源于网络,没给更多的信息,搜了好久
差不多一刻钟,才找到出处:叶熊的《三国人物水墨画
画的真不错,很是有些中国古典风味,应用的时候,为了突出特点,黄忠的图片用的是另一个人(看出来是哪个了吗?)
顺便说一下图片是拿Photoshop处理的,木头纹理素材外加正片叠底效果即可。
关于程序,没什么好说的,喜欢看的,打开源码,大部分都是javascript操作,逻辑简单,这里不说了。

华容道的解法
=======================
唉唉,不一而足,像我这样的水人,只好拿计算机写程序来暴力遍历之。
据说最早系统研究游戏华容道的是苏州大学数学教授许莼舫先生。
1952年,他在《数学漫谈》中对这个游戏作了详细的分析,总结出8条规则。
这8条可以归纳为以下4点:
  1,四个小兵必须两两在一起,不要分开;
  2,曹操,关羽,大将移动时前面应有两个小兵开路;
  3,曹操移动时后面还应有两个小兵追赶;
  4,以下三种状况,其中各块都可局部(不妨碍其他地方)任意移动。
(注意,实际上这样并不总是最短的)

华容道的参考资料
=======================
华容道-百度百科:http://baike.baidu.com/view/62732.htm
Klotski#Hua_Rong_Dao:http://en.wikipedia.org/wiki/Hua_Rong_Dao#Hua_Rong_Dao
Sliding Block Puzzle:http://en.wikipedia.org/wiki/Sliding_block_puzzle
Rob’s Puzzle Page:http://www.robspuzzlepage.com/
华容道开局(关卡)大全:http://www.fayaa.com/youxi/hrd/#hrd-layouts
华容道游戏的简单介绍:http://www.fayaa.com/youxi/hrd/#game-spec
智取华容道-华容道游戏在线求解: http://www.fayaa.com/youxi/hrd/add/
華容道 (遊戲) :http://zh.wikipedia.org/wiki/%E8%8F%AF%E5%AE%B9%E9%81%93_(%E9%81%8A%E6%88%B2)
《数学-七巧板、九连环和华容道》吴鹤龄著
iPhone上的华容道游戏:http://www.weiphone.com/viewthread.php?tid=40783
华容道游戏资料索引:http://www.2maomao.com/blog/hrd-youxifayaa-birth-log/
华容道游戏布局:http://blog.csdn.net/Suprman/archive/2007/01/20/1488282.aspx
华容道电脑解法探讨:http://blog.csdn.net/Suprman/archive/2007/01/19/1487576.aspx
华容道最短路径求解程序(Python版)By Leo Jay:http://www.fayaa.com/code/view/377/
闯过华容道:http://mathserver.sdu.edu.cn/html/sxjm/examples/ex5.htm
香港的黄志华先生关于华容道的系列文章:http://blog.chinaunix.net/u/14418/article_88127.html
华容道的十九个开局:http://blog.tiantiansoft.com/user1/498/archives/2006/2991.html
华容道游戏秘决技巧: http://blog.sina.com.cn/s/blog_53d7161501009u13.html
华容道搜索算法研究: http://www.fjptsz.com/xxjs/xjw/rj/110.htm
(原创)“华容道”玩具不是中国人发明的: http://sokoban323.spaces.live.com/Blog/cns!EDCFE66FC8463C88!369.entry
華容道的「起源」(之一): http://me.abelcheung.org/2006/06/17/origin-of-klotski-1/
華容道的「起源」(之二): http://me.abelcheung.org/2006/07/28/origin-of-klotski-2/

至于网上流行的flash做的那个在线华容道游戏,背景乐很不错,图片也很好(用的三国志xx里面的人物)
就是计算步骤有些问题,开局名称也有许多错乱,这里就不给链接了。

—————————后记————————————–
在整个过程中,不得不提的几个强人:
1. 黄志华先生:看看他的blog你就知道,这个人很强,兴趣涉猎广泛,且每样都有精细研究。
真的很佩服,年近半百,心似顽童。

2. Leo Jay: 在python-cn上遇到的
在我发布华容道游戏一天之内,用Python写出最优解,更私下里遍历了所有开局
(主页没找到,链接是代码发芽网上的)

3. 智力游戏收藏家Rob: 啊哈,光是滑块游戏,都有五六十种,不说其他的了。
我逛了一下,我玩过的智力游戏大多都在里面了(现实生活中玩的哦,不是计算机游戏)

诸位看官,如果有什么建议或者其他资源,请不吝赐教,我会一一添加或修正。

PS: 目前感兴趣的是黑白棋智能程序,准备做个黑白棋对战加上一些智能机器人,呵呵
再PS: 老婆和刚满百岁的小新月从家里过来了,这段时间估计做不了什么更新了

3 条评论 发表在“在线华容道游戏的炮制手记 – 华容道资料大全/索引(目前最全)”上

  1. 苹果砸在牛头上说道:

    楼主做事真是认真啊,pfpf :q

  2. sokoban说道:

    很好,求解程序做得很棒,资料也是非常全:h

  3. 舵手说道:

    pfpf,博主一定是从数学转到计算机上的吧

留下回复