游戏玩法
要玩这款游戏,玩家必须移动屏幕上的小人。小人可以从一个单元格移至另一个单元格(如果第二个单元格上没有东西),如果小人希望前往的单元格被箱子占用,并且该箱子后的单元格未被占用,小人也可以推动箱子。
用键盘玩游戏
可以用键盘或鼠标来移动小人。使用键盘时,玩家应使用箭头键(向左、向右、向上、向下)来移动小人。
撤销/恢复
YSokoban支持撤销/恢复操作。使用键盘时,可以通过退格键来执行撤销操作,而使用空格键来进行恢复。
当你换关卡的时候 (或者按ESC从头再开始目前这个关卡), 你之前做了的全部推动/移动都是在重做的缓冲里面。
如果你从头再来(按ESC), 你可以利用“恢复”来恢复之前的步骤。
如果你不小心换了打开另外一个关卡, 你可以再打开之前的关卡, 然后利用“恢复”来恢复之前的步骤。
用鼠标玩游戏
通过,在玩家完成最初的2或3个关卡后,他就会意识到,将箱子从一个单元格移至另一个单元格并没有多大乐趣。玩家必须集中精力完成的重要任务,是确定应按什么顺序推动箱子以及将箱子移至哪些单元格。
这时就要用到鼠标。鼠标具有各种不同的用法:单击小人,然后单击希望将小人移至的单元格;或者直接单击某个单元格,然后小人就会移到那里(如果可行),而不必推动箱子。另一种用法(更加常用)是:单击某个箱子,然后单击应将箱子移至的单元格(或将箱子拖放到那里)。如果存在推动路径,小人就会将箱子推动到那里。为了能够推动箱子,YSokoban提供了推动路径查找功能(当前的大多数推箱子程序也是如此)。
使用鼠标时,将通过鼠标滚轮(默认设置)执行撤销/恢复操作。 但您也可以对其进行配置。
查找推动路径
YSokoban提供了路径探查器来帮助玩家完成繁琐而低效的游戏操作。
- 查找推动路径:单击要推动的箱子,然后单击应将箱子推动到的单元格(目标单元格),或者将箱子直接拖放到目标单元格。如果不需要移动其它箱子即可推动箱子 (看例子) 则会推动箱子,并以动画显示此操作(除非选定了“瞬移”- 见下文)。
- 显示小人可以到达的位置:单击小人
- 显示可到达的箱子:单击任何墙壁,这时会用一个符号标记所有无法到达的箱子。 此符号是皮肤的一部分,通常是使用红叉或其它符号。
- 显示箱子可以到达的位置:单击箱子 (但你需要先设置好 提示)
- 显示穿越 - 这是一项更加复杂的功能(见穿越箱子)。
- 显示哪个箱子可以推动到此处:单击任何单元格或目标位(默认是右键单击,但也可以在“选项”对话框中进行设置,以便使用左侧鼠标按钮)。
- 显示哪个箱子可以推动到此处:单击任何单元格或目标位(默认是右键单击,但也可以在“选项”对话框中进行设置,以便使用左侧鼠标按钮)。将标记所有可推动到该位置的箱子并选择最近的箱子。再次在同一目标位上右键单击(如果使用默认设置)将进行推动。在其它可能的箱子上右键单击将推动该箱子。在其它可能的箱子上左键单击会将该箱子标记为不可自动选择以进行推动(在某些情况下有用)。
下面提供了一些查找路径和瞬移的示例。
瞬移
YSokoban支持在播放或回放期间不显示中间移动/推动步骤。也就是说,启用此功能时,将不显示所有的中间动画。例如,如果单击某个箱子,然后单击目标位,箱子会立即移至目标位。单击“瞬移”按钮可启用此功能。
在瞬移期间,有一个选项可以显示方向改变。要启用此功能,请在“选项”面板中选择“瞬移时显示方向改变”。
路径查找和瞬移示例:

穿越箱子
在某些特殊情况下,在查找路径期间“不推动其它箱子”的限制过于严格。在许多情况下,要从关卡的一部分移至另一部分,玩家需要推动某个箱子,然后将其复原。这称为“穿越箱子”。因此,自动完成此操作会很有好处。穿越功能将显示玩家在推动某个箱子并将其复原后可以到达的位置。要激活此功能,请在“选项”面板中选择“穿越箱子(若可行)”。要使用此功能,请单击小人(如果可行):
- 将用圆圈标记可到达的箱子/单元格;
- 将用方块标记可穿越的箱子(即将“移动并还原”的箱子);
- 如果该位置可立即到达(无需穿越),则圆圈/方块为白色
示例:
通过穿越移动小人:

通过穿越移动箱子:
在推箱子过程中进行保存/加载
玩家可以随时保存并加载当前位置。
- Ctrl-S:保存当前未完成的关卡(和移动步数)
- Ctrl-D 或 Ctrl-O:加载以前保存的未完成关卡
必须指定文件名才能保存/加载关卡和答案。
复制/粘贴
YSokoban支持使用剪贴板。玩家可以从剪贴板粘贴答案或关卡,也可以将答案或关卡复制到剪贴板。导入(粘贴)答案时应使用LURD格式。向YSokoban导入时,LURD格式的答案可以为小写或大写。从YSokoban导出时,LURD格式的答案应始终采用正确的大小写。
复制当前关卡和答案至剪贴板
- Ctrl-L - 将当前关卡和答案复制到剪贴板。如果尚未通关,此操作会将当前移动步数、当前关卡布局和原始关卡复制到剪贴板。
- Ctrl-ALT-L - 作用与Ctrl-L相同,但用“-”或“_”(减号或下划线)代替空格
- Ctrl-Shift-L - 作用与Ctrl-L相同,但采用RLE简写格式
- Ctrl-Alt-Shift-L - 作用与Ctrl-L相同,但采用MF8格式。MF8格式是MF8团体共享信息时使用的特殊格式。导入到剪贴板时,它会在剪贴板中写入[soko=...]和[/soko]。 进行粘贴时,某个地方应该有[soko=或[/soko]才能认为其为MF8格式(因此,请勿从剪贴板中删除[soko=...标记)。
- Ctrl-M - 作用与Ctrl-L相同,但采用XSB + MF8格式
- Ctrl-Ins(或Ctrl-C)- 将此关卡的移动步数复制到剪贴板(LURD格式)
注:如果已经解开了某个关卡,那么,要复制答案(而不用再次解关),请在移动之前按Ctrl-C(或者,如果移动了箱子/小人,请先按ESC)。如果未移动箱子/小人,YSokoban会将选定答案复制到剪贴板。
粘贴关卡/答案
从剪贴板粘贴内容时,YSokoban会进行分析,如果是关卡(或关卡集),则使用它们。如果是答案,它会进行尝试,看此答案是不是当前关卡的答案。
- Shift-Ins(或Ctrl-V)- 从剪贴板粘贴移动步数(或关卡/关卡集)(答案应为LURD格式 ,关卡应为普通文本格式),答案和关卡都可以采用RLE编码。
- Ctrl-Shift-V(Ctrl-Shift-Ins)- 与上述(粘贴移动步数)热键作用相同,但会在每次换箱子时停止,然后按空格继续。实际上,这只是填满了恢复缓冲区。例如:在完成关卡之后(但在转到下一关卡之前)按Ctrl-C(或Ctrl-Ins),这会以LURD格式将所有移动步骤复制到剪贴板。现在,您即可将它们粘贴到电子邮件(或其它文本文件)中。如果收到这样的答案,请选择并将其复制到剪贴板。然后,转至所需关卡,按Shift-Ins(Ctrl-V),这时将会播放答案(如果答案正确)。如果希望查看答案,并在每次换箱子时暂停,请按Ctrl-Shift-V(Ctrl-Shift-Ins)。
- Ctrl-ALT-C(Ctrl-ALT-Ins):如果当前正对答案进行逐步审核,此操作会将剩下的答案复制到剪贴板。 Ming要求添加此功能,他的解释如下:回放答案(逐步跟踪移动步骤)时,在任何给定时间,按Ctrl-C将当前答案(从开头到当前的移动步骤)复制到剪贴板。这时,提供一项功能来将剩下的答案(当前位置之后的移动步数)复制到剪贴板会有好处。 如果希望优化现有答案,使用此项功能会非常方便。通常,玩家需要跟踪两个答案,然后得到一个共同的地图,之后再执行剩下的移动步数(如果上述功能可用,就可以复制并粘贴这些步数)。
更改关卡方向
您可以随时以8种可能的方向(旋转/翻转)推任何关卡。您还可以“锁定”所有关卡的方向。您可以在“变形选择”面板中选择关卡方向,或使用相关热键。