关于推箱子

经典的推箱子是一个来自日本的古老游戏,目的是在训练你的逻辑思考能力。在一个狭小的仓库中,要求把木箱放到指定的位置,稍不小心就会出现箱子无法移动或者通道被堵住的情况,所以需要巧妙的利用有限的空间和通道,合理安排移动的次序和位置,才能顺利的完成任务。

为了方便玩家交流,分享推箱子关卡,下面介绍几种常用的推箱子格式。

1、XSB格式

推箱子关卡一般用XSB格式来保存和交流:(In Sokoban community, levels are shared in a standard format called XSB)
@ ==> 人 (man)
+ ==> 人在目标点 (man on goal)
$ ==> 箱子 (box)
* ==> 箱子在目标点 (box on goal)
# ==> 墙 (wall)
. ==> 目标点 (goal)
- ==> XSB格式空位代表“地板”, 但因为空位显示有问题, 就用“-”代替空位。(floor, represented by ' ' or '-')

例子 (example)
----#####----------
----#---#----------
----#$--#----------
--###--$##---------
--#--$-$-#---------
###-#-##-#---######
#---#-##-#####--..#
#-$--$----------..#
#####-###-#@##--..#
----#-----#########
----#######--------
Title: Classic level 1
Author: Thinking Rabbit

2、urld格式

这是答案:
(This is the solution in LURD format, l=left, u=up, etc. Uppercase letters stand for pushes.)
ullluuuLUllDlldddrRRRRRRRRRRdrUllllllluuululldDDuu
lldddrRRRRRRRRRRRRlllllllluuulLulDDDuulldddrRRRRRR
RRRRRllllllluuulluuurDDuullDDDDDuulldddrRRRRRRRRRR
uRRlDllllllluuuLLulDDDuulldddrRRRRRRRRRRdRRlUlllll
lllllllulldRRRRRRRRRRRRRuRDldR

答案是LURD格式。
l 或 L ==> 左
r 或 R ==> 右
u 或 U ==> 上
d 或 D ==> 下

小写字母是移动, 大写字母是推动。

3、json格式

JSON格式是为了方便程序解析关卡用的格式
例如:
{“level”:”—-#####————–#—#————–#$–#————###–$##———–#–$-$-#———###-#-##-#—#######—#-##-#####–..##-$–$———-..######-###-#@##–..#—-#—–#########—-#######——–“,”answer”:””,”title”:”-classic-level-1″,”description”:””,”width”:19,”height”:11,”author”:”-thinking-rabbit”,”email”:””,”date”:”2016-11-04″}

4、二维码

推箱子二维码就是把json格式的字符串生成二维码,以便于手机直接用扫描功能就可以载入关卡
例如:

发表评论