推箱子的变种 TSokoban
推箱子的变体有不少。比如SokoMind引入过对箱子编号的推箱子SokoPlus.David W. Skinner 引入过六边形的推箱子 Hexoban (http://users.bentonrea.com/~sasquatch/sokoban/hex.html) 等等。
最近我在 Clickmazes 网站上看到一个也可以称为推箱子的变体的游戏,十分有趣。
(clickmazes 的网站: http://www.clickmazes.com/boxup/ixboxup.htm)
clickmazes 的网站上有这个游戏的java小程序,可以直接在线玩,一共有17关。
我颇费了一番功夫才把这17关都过了,十分喜欢这个游戏,于是编写了一个Windows下的版本。
下面简单介绍一下游戏规则:
黑色实心小正方形是人(即“搬运工”)。空心方框是墙。
其余的都是箱子。箱子都是三面围起来,一面开口;有大箱子和小箱子两种规格。
开口的方向有东南西北四个方向。
人可以通过开口的方向走到箱子(大小箱子均可)里面去。而且只有走到箱子里面之后,才能够在里面推动箱子。
小箱子也可以被推到大箱子里面去。
红色的小箱子是“目标”小箱子。蓝色的大箱子是“目标”大箱子。
游戏的目标是把所有红色箱子推到蓝色箱子里面去。在Clickmazes 网站上,所有关卡均只有一对目标箱子。
我觉得,即便只有一对“目标”箱子,关卡也可以设计得非常难。
在我编写的程序里面,允许有多对目标箱子(见18关)。
下面是此游戏的下载:(更新 004)
这还只是一个测试版本,有些功能还没有实现。
主要功能:
内置18个关卡,其中前17个来自 Clickmazes 网站;
箭头控制人的运动;
计算步数(在标题栏显示);
可撤销(恢复)最多30000步;
可把答案写入剪切板,也可从剪切板粘贴答案;
读入 tsb 格式外部关卡。
如果大家发现程序的bug,请告诉我,以便修正。
【另:征集皮肤设计 】
现在用的皮肤是clickmazes 网站的原版皮肤。
若有美术设计比较好的朋友感兴趣,欢迎提供更好的皮肤设计
按照下面模板样式排列就行了。每种元素的大小一样,是正方形。
有一点要注意的是:小箱子的有效面积(指的是有效面积的最小外接正方形)要完全位于大箱子内部。
而人的有效面积又要完全位于小箱子内部。因为程序是用多个基本元素层层覆盖来画出组合元素的。
[ 本帖最后由 sokoban 于 2010-11-26 12:36 编辑 ] 这个游戏原来也有这么难的版本,在机械迷城那个游戏里有个关卡用到了这个游戏不过简单的多 原帖由 chuchudengren 于 2010-9-17 17:27 发表 http://bbs.mf8-china.com/images/common/back.gif
这个游戏原来也有这么难的版本,在机械迷城那个游戏里有个关卡用到了这个游戏不过简单的多
有意思。在网上搜索了一下,好像关卡都是一样的。鉴于机械迷城是2009年的游戏,很有可能是机械迷城
借鉴了 clickmazes。
我喜欢新鲜的东西,多谢蛋壳兄!
我试试。
回复 2# 的帖子
昨晚几乎通宵把《机械迷城》通关。游戏原名《Machinarium》,是捷克的一个游戏小组开发的,2009年底发行。官方网页:http://machinarium.com/
官网上可以在线试玩前三幕,大概占整个游戏的10%。完整版20美元。
《机械迷城》是一个解谜型角色扮演(或解谜型冒险)游戏。里面穿插了很多经典和现代的
解谜小游戏。如一楼的推箱子的变种。有点向解谜小游戏致敬的意思。
《机械迷城》的另外一个特点是游戏的画面非常具有艺术特色。
强烈推荐,没玩过的朋友可以尝试一下(可以先在官网玩前三幕)。
[ 本帖最后由 sokoban 于 2010-9-18 10:49 编辑 ] (一楼的下载文件已经更新)
更新说明:
1,在标题栏显示关卡大小
2,可以读入外部关卡 tsb (更新中带有一个 example.tsb 关卡文件)
tsb格式如下(采取类似XSB格式的文本文件)
墙 #
地板 -
人 @
(小写字母为普通箱子,大写为目标箱子)
大东 a A
大南 b B
大西 c C
大北 d D
小东 e E
小南 f F
小西 g G
小北 h H
实际上每个格子还有更多的可能,如大箱套人,小箱套人、大箱套小箱套人、加上方向,
要表示所有可能,需要符号很多。所以tsb格式关卡,初始状态不允许有这种重叠情况出现。
第一关:
#####
#---#
#H@C#
#---#
##### 第四关的推广:
有少于108步的解法吗?
###########
#-b-b-b-b-#
#E@------B#
#-d-d-d-d-#
###########
4g:
###########
#-b-b-b-b-#
#Ebb-b-bbB#
#e@b-b-b-b#
#-d-d-d-d-#
###########
我已经尽量多地塞进障碍箱子。在保证可解的情况下,不知能否再增加黑箱子。
回复 7# 的帖子
dEurdEurdEurdEuNddWuuWddWuuWddWuuWdllDruuWdrdlUrrdWulUEDDEUUEDDEUUEDDEUUEDDEUU又玩了一下,发现上面答案做了些无用功dEurrrrrdEuNddWuuWdluWdluWdllDruuWdrdlUrrdWulUEDDEUUEDDEUUEDDEUUEDDEUU
程序里的18关才刚玩到8,越来越没有头绪了
[ 本帖最后由 chuchudengren 于 2010-9-20 12:13 编辑 ]