YSokoban
YSokoban是一款推箱子程序。它具有可调整大小的皮肤,支持多语言,并且可进行无限撤销和恢复,完全支持鼠标(以及许多热键和快捷键))、标尺,可记住最佳答案并在稍后根据需要回放 ,以及其它许多功能。

安装
不需要任何特别操作即可进行安装。将下载的zip文件解压到某个文件夹(如YSokoban),然后在那里启动程序。
- YSokoban.exe - unicode版本,适用于windows 2000+(XP、Vista、7)
- YSokobanA.exe - 适用于Win95/98,还支持2000+,但更高版本的操作系统最好是使用unicode版本。
便携模式
YSokoban会在注册表中保存某些数据,以便在稍后启动时使用。保存的数据包括:窗口在屏幕上的位置、窗口的大小、选择的玩家等。如果不希望将数据存储在注册表中,而是将其存储在YSokoban所在文件夹的文件中,以便将所有数据保存到USB上随时随地使用,而不必更改注册表,请创建一个空白文件: YSokoban.ini(或YSokobanA.ini - 因您使用的版本而异),YSokoban将使用此文件而不是注册表。
如果在启动YSokoban时没有ini文件,并且在YSokoban运行时创建了ini文件,则在退出时,YSokoban会将所有注册表设置复制到ini文件中。
卸载
YSokoban程序会将某些数据写入注册表(参见上文):
HKEY_CURRENT_USER\Software\YGP\YSokoban
卸载程序 - 在系统菜单中选择“卸载”,然后在系统显示对话框通知您清空注册表时单击“确定”。程序将清空注册表设置并退出。删除可执行文件以及所有相关关卡和玩家文件。如果您改变了主意,可以重新启动程序,但应再次在“选项”对话框中完成所有设置。
菜单
YSokoban没有菜单栏。菜单位于系统菜单内。要激活菜单,请单击窗口左上角的YSokoban图标,或者按Alt-空格(如果YSokoban窗口为当前窗口)。“变形”对话框中有一个按钮(可直接激活菜单),也可以通过按F10来激活菜单。此外,还可以通过单击“关数:”(关卡编辑框之前,系统图标正下方)来激活菜单。我知道,这个位置并不明显,但您可以认为单击下方的系统图标也激活了系统菜单(虽然它实际上不是系统菜单)。所有这些激活菜单的替代方法可在全屏模式下使用,也可以在Linux下的Wine上运行YSokoban时使用。
菜单项包括:
命令行参数
YSokoban支持以下命令行参数:
- -bmp - 以录影模式启动YSokoban,录制的图像采用BMP格式
- -png - 以录影模式启动YSokoban,录制的图像采用PNG格式
- -norec - 以非录影模式启动YSokoban
- -w - 将YSokoban切换到全屏模式(但不激活录影模式)
- -l - 将YSokoban切换到关卡模式(但不激活录影模式)
- filename 将加载关卡或关卡集的文件名
必须在文件名之前指定参数(名称中可能含有空格),例如:
- YSokoban ClassicQuest.xsb
- YSokoban -png ClassicQuest.xsb
- YSokoban -w ClassicQuest.xsb
- YSokoban -png -w
因此,命令行语法为: YSokoban [-png|-bmp|-norec] [-w|-l] [filename]
功能
- YSokoban具有许多热键(快捷键),可快速执行某些操作
- 皮肤支持
- 支持多种语言以自己的语言使用YSokoban(如果具有翻译版本)。
- 支持鼠标和键盘, 可以配置鼠标按钮 和 鼠标滑轮。
- 可以通过选项禁止/允许显示提示,或按F9进行切换
- 撤销/恢复移动不受限制
- 支持的答案大小几乎不受限制:
许多程序对于关卡的最大移动步数设有限制。Sokoban没有此类限制。但是,它会受系统的可用内存限制。YSokoban属于32位应用程序,即使使用具有数GB物理内存的64位操作系统,它最多也只能访问2GB的内存。这意味着,移动步数仅限为数亿步,但这相当于几乎没有限制。至少对人类而言,是不可能每秒移动100多步的,而100万秒意味着不间断地连续玩10几天。
- 支持的关卡大小几乎没有限制
YSokoban支持任何合理大小的关卡(例如,不支持65000x65000关卡,10000x10000关卡未进行测试,可能会存在一些问题)。
当关卡大于YSokoban窗口时,将提供滚动条来平移关卡。 如果显示了滚动条,则可以使用滚动条,或在任何没有小人或箱子的单元格上按下鼠标按钮然后拖动鼠标,进而移动关卡的可见部分。
- 自动跟踪小人/自动平移:
关卡大于YSokoban窗口时,会显示滚动条。在回放答案时,用户可以启用自动平移,以便关卡跟随小人自动滚动。
在右下角两个滚动条交汇的地方,有一个上面带有小点的方块。 单击此方块可以切换自动平移。按下该按钮时,将启用自动平移。
- YSokoban窗口中具有滚动条时,用户可以按Shift或Ctrl + 鼠标滑轮来滚动窗口。
- YSokoban可以进行截图来帮助制作动画GIF。
- 标尺 - 标尺会显示坐标(类似于象棋谱),以便于与其他人讨论小人/箱子和单元格的位置。
- 在推箱子过程中进行保存/加载: 您可以随时保存/加载当前位置(Ctrl-S/Ctrl-D)。
- 回放答案: 玩家可以回放任何保存的答案、更改回放速度、暂停以及继续回放。
- 支持复制/粘贴部分答案: 通过复制/粘贴操作将移动步数/关卡复制到剪贴板,或粘贴剪贴板中的移动步数/关卡。
- 支持从文件或剪贴板加载关卡。
要从文件加载关卡:单击“关卡集”按钮。
要从剪贴板加载关卡:直接粘贴即可
- 自动记住已经解开的任何关卡
- 处理答案:可以对YSokoban进行配置,以保存任何数量的答案(每个关卡)。
- 导入答案:可以从文本文件导入答案。此功能主要用于帮助玩家“合并”不同玩家的配置文件。
- 导出答案
- 方向支持: 可以在推箱子的过程中旋转或翻转关卡。
- 支持瞬移:不显示中间移动/推动步骤
- 支持路径查找:查找推动箱子(及其它操作)的路径。
- 穿越箱子功能:即使必须推动其它箱子,也可查找推动路径
- 推动路径优化:在推箱子的过程中,使用鼠标点击来移动箱子时,可以告诉YSokoban如何选择/优化推动箱子的路径。这可以基于推动、移动或直线次数。
- 显示玩家可以到达(和无法到达)的位置。
- 支持从一开始所有箱子都已归位的关卡。
- 自动确定平凡关卡
- 自动保存功能:如果在推动过程中退出YSokoban,当您下次启动YSokoban时,它会自动加载同一关卡,并回放您上次退出时已完成的移动步骤。此功能可进行配置。
- 自动放大/缩小窗口:加载关卡时,可以告诉YSokoban(可进行配置)自动缩小或放大窗口,以便显示整个关卡。
- 浏览或跳至任何关卡(当前关卡集)。
- 将关卡加入书签: 按Ctrl-<1>..<9>加入书签,按<1>..<9>跳至相关关卡。
- XSB格式的关卡支持用下划线(_)和连字符(-)来替代空白符(" ")。
将关卡从电子邮件复制到论坛时,可以用到此功能。
此外,YSokoban会将常用的“>”(大于号)视为空白符。通常这种符号来自电子邮件回复。
另外还会忽略续行符“\”(即反斜杠)。
- 支持简写的答案和关卡。
- 支持多用户:YSokoban支持多位玩家(YSokoban用户),请不要与Multiban相混淆,YSokoban不支持一个关卡有多个小人。
每位玩家都有自己的配置文件。
单击玩家下拉列表可选择玩家或创建新玩家。
- 计算某个区域的目标/箱子数。按下Ctrl键的同时单击鼠标,然后选择关卡内的长方形区域。 这时,YSokoban将计算该区域内的箱子和目标数,并在标题栏中显示结果。如果松开鼠标按钮,但仍然按下Ctrl键,则可以选择其它区域,并在标题栏中查看结果。可以通过这种方式选择多个区域(最多10个)。
- 支持宏: 有时,您需要多次执行重复性操作。在此情况下,大多数文本编辑器都提供了所谓的“宏”功能。