您的位置:玩一玩 > 游戏攻略 > 正文

异常余数解题分析,玩家自制关卡余数通关技巧

2020-08-04 18:13:42编辑:jackey

余数这关的四个士兵属于同index单位,点击刷新后,四个士兵的代码就会同步。

首先要弄清多个单位的代码是如何运行的。

1.代码是顺序检测,并且不断循环的;

2.一个循环指的是从第一个单位的第一行代码,到最后一个单位的最后一行代码;

3. 检测过程的一个完整的循环中,信号指令的开关会瞬间被改变(立刻被执行),直接影响到后面的指令与单位,(所以你可以利用信号组写计时器或者计数器);而有冲突的位移命令和开火命令则是下面的会覆盖上面,并且不是立刻执行的。

4.检测完成后,各个单位执行优先级最高的开火和位移命令。

5.也就是说,异常的代码分为检测和执行两个部分,一轮检测加上执行,就是游戏里面的一帧。

关于上面第三条前面单位影响到后一个单位(尤其是信号的影响)

明白这些后就可能有这样的思考了。

首先,把4个单位分为4组,即4组运行完就是1帧。

上面帖子里分析到位,第一组是站立,后面三组前往A,4%4=0,余数为0

但是当有单位死亡时,4%3=1,余数为1。循环被打破,此时每个单位都有可能去A点了。

所以,要先找到公倍数,1,2,3,4的最小公倍数是12(当然你非要用24也可以),就是说要写一个循环到12的计时器,让其中一轮前往A(注意用到检测信号关),这样就能让四个士兵一个个去送死的。

解法如图,第一行为1开。

如果看不懂计时器,请前往以下链接学习。https://www.taptap.com/topic/4830721

解释一下第六行,为什么是信号432(也就是计时到十进制的7)的时候前往A。

假设,四个单位都向A点走一帧就会被狙击打死。

那么当我让它们计时到信号432开也就是7的时候前往A,则

1 2 3 4 5 6 7 8 9 10 11 12(计时器12个轮次)

1 2 3 4, 1 2 (3) 4, 1 2 4, 1(每轮对应的单位)

2 4, 1 2 4, 1 (2) 4, 1 4, 1 4,

1 4, 1 4, 1 4,(1) 4, 4, 4, 4, 4,

4, 4, 4, 4, 4, 4,(4),

其中括号里面数字代表某号单位死亡,逗号分割了每帧。

死亡顺序为3-2-1-4。

其中,3号死在第2帧,2号死在第6帧,1号死在第12帧,4号第23帧前往A。(注意一帧的概念:从第一个单位到最后一个单位的检测过程与指令检测完毕的执行过程,这两步合起来就是一帧)

那么,我们可以发现,如果让第一个士兵走3x+1帧死亡,第二个士兵2y+1帧死亡,(x与y为大于等于0的正整数),死亡顺序必然是3-2-1-4。

如果是各单位走2帧死亡,则

1 2 3 4 5 6 7 8 9 10 11 12

1 2 3 4, 1 2 [3] 4, 1 2 (3) 4,

1 2 4, 1 2 4,[1] 2 4, (1) 2 4,

2 4, 2 4, 2 4,[2] 4, (2) 4, 4, 4

4, 4, 4, 4, 4, 4,[4],(4),

其中[]表示某单位开始行走,()表示某单位死亡。

死亡顺序为3-1-2-4。

————————

而本关中,我们期望的顺序是1号最后一个前往A。

不同于上面说的特定帧数死亡,本关你并不知道每个单位前往A到死亡会经过几帧,但是,每个单位死亡的帧数一定是固定的,因为各个单位到A点的距离是固定的。

所以只要尝试让2号先死(信号3),3号先死(信号32),4号先死(信号4),那么必然能找到一个解(注意用到检测信号关)。

本站发布此文仅为传递信息,不代表本站认同此观点或证实其描述

相关阅读