pan528 发表于 2016-10-2 23:18:29

YASC关卡答案解锁命令

Sokoban YASC 自带了许多关卡,其实都附上了答案。但为了增加玩家的解关动力,作者屏蔽了答案。经分析,作者只是将关卡标识后的空格删除了,或者说在标识后加上空格就答案就“解锁”了。

写了一个批命令,运行它即可自动对所有sok格式关卡解锁。

2016注册的用户 发表于 2016-10-3 10:03:47

好东西,支持

胜利 发表于 2016-10-7 13:34:03

我这里无法使用。

shy1639 发表于 2016-11-28 15:45:20

关卡标识是什么东西?

anian 发表于 2016-11-29 04:39:14

本帖最后由 anian 于 2016-11-29 04:53 编辑

YASC自带的那些关卡都是带有答案的。
你如果打开那些文件就可以全部看到它们。

其实作者为了自带的答案做了不少工作。
特别编写代码不显示然后加入选择去显示, 还可以一个一个答案的打开。

如果你按照作者做的方法“导入”自带的答案, 你然后再看关卡文件, 你会发现程序在原来的
Solution/Moves  (Built-In)

改成显示的是:
Best Moves <<然后有答案步骤数字>>

没有了原来的(Built-In), 就是自带的意思。

按照这个改变, 不容易看出来, 删除“(Built-In)” 就可以了。

新版本好像有改动, 加个空格未必可以解锁。

我没有去研究代码, 不知道它怎么定为“自带的答案”。
它肯定是需要和某些字串做比较的, 我猜这个字串和 “(Built-In)”应该不会相差很多。

其实最简单的方法, 就是打开这些关卡文件 (如用NOTEPAD++全部关卡文件打开),
然后用空去替换 “(Built-In)”。  可以一次过替换全部打开的文件。    然后保存改变的全部文件。
这样, 程序就无法知道这个答案是否是原本自带的,
它就变成是用家的答案了。   

例子:

如在GRIGoRusha.sok文件里面, 第一个答案看到的是:

Solution/Moves  (Built-In)
RRdrrrddrrddddllllllluU...(其它的LURD资料不显示)...

你删除 (Built-In)就可以了,变成这样:
Solution/Moves
RRdrrrddrrddddllllllluU...(其它的LURD资料这里不显示)...


就是这么简单


752979025 发表于 2019-7-16 06:53:24

只可惜关卡不够多.都有答案该多好.
页: [1]
查看完整版本: YASC关卡答案解锁命令