下载 App

余数解题分析

精华修改于2023/03/187207 浏览综合
TapTap
余数这关的四个士兵属于同index单位,点击刷新后,四个士兵的代码就会同步。
首先要弄清游戏中一帧的概念以及多个单位的代码是如何运行的。
1.一帧分为检测与执行两个部分,一秒内游戏运行60帧(一帧0.017秒);
2.检测过程中,代码按从上往下的顺序检测,从第一个友方单位的第一行代码检测到最后一个单位的最后一行代码(制作关卡时作者会确定单位顺序);
3. 检测每行代码时,信号指令的开关会瞬间被改变(立刻被执行),直接影响到后面的指令与单位,(所以可以利用信号组写计时器或者计数器);所有条件满足的位移命令和开火命令会被不断读取。
4.检测完成后,各个单位执行最后读取到的开火和位移命令,既执行优先级最高的命令。
关于上面第三条前面单位影响到后一个单位(尤其是信号的影响),举例 https://www.taptap.com/post/40492858
本关中,我们期望的是1号单位最后行动,其余三个单位依次自杀。我们首先要做的就是保证在剩余不同数量友方单位时每个单位在每一帧都执行相同代码。
所以要找到一个数,对剩余数量(1,2,3,4)取余后为0,这个数必然是1,2,3,4的公倍数,比如12(当然你非要用24也可以)。
然后构造一个轮次为12的计时器,并让其中一轮前往A(注意用到检测信号关),这样就能让四个士兵在每一帧中都执行相同的代码(执行前往A或保持站立)。
TapTap
解法如图,第一行为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),那么必然能找到一个解(注意用到检测信号关)。
TapTap
经过尝试,上图为信号32(十进制3)让3号先死时,死亡顺序是3241,这是一个解。
反推可以得到3号经过3x+1帧后死亡,2号经过2y+2帧后死亡(x与y为大于等于0的正整数)。
由于初始单位有4个,那么再把32(十进制3)这个解加4x帧再启动,也就是信号432(十进制的7),还有信号532(十进制11)。
这两个都是可以的,如下:
TapTap
TapTap
(上图第六行省略了检测信号关)
最后一步:开火点。
这关最后一个难点在于何时开火,因为变态作者把时间调的很极限,这个没办法,只能试,所以得到最终解,第一行为信号1开。
TapTap
正解之一(如上图),应该还有其他解,不过开火点懒得调试了。
附一个信号与十进制对照表
TapTap
【关卡更新!】异常的2021年,玩家关卡又更新了!截图
【关卡更新!】异常的2021年,玩家关卡又更新了!
自从2017年8月异常首个测试版跟大家见面以来,已经过了将近四个年头了。当初还是学生的玩家大佬们,现在有很多已经参加工作了吧。时间过得真快! 当异常的版本进入一个相对稳定的阶段后,本咕就开了新坑,开始了新的咕咕生活。但玩家大佬们时不时的贡献一些关卡,居然让异常还能保持一些活力。本以为早就会凉凉的异常,在2021年还是会偶尔触动某些玩家大佬们的灵感,从而诞生一些让人赞叹的创意关卡。 为了让这些宝藏不
官方
314 赞
80 回复
第12关和第14关极简步骤随机解法截图
第12关和第14关极简步骤随机解法
优雅永不过时!
2 赞
3 回复
第十一关特异过关法截图
第十一关特异过关法
其实是把下面那哥们当盾使了 由于两个士兵走路速度有差别,调试了好久,才弄出这个不需要算距离的接法 p1中运动路径是ACECECEG p2中运动路径是BDFH #异常
4 赞
1 回复
01:26
异常:最好的编程入门书截图
异常:最好的编程入门书
好 难 啊 真的打不过 我不是计算机相关专业的,之前因为有需要自学了一点c和lua,但说实话还得是那种认真学了计算机,对算法和流程控制有点了解的玩起来能更轻松点。 游戏链接:https://www.taptap.com/app/59622
25 赞
3 回复
01:25
最后十关攻略-22-兄弟你顶住截图
最后十关攻略-22-兄弟你顶住
蜂群就靠大兄弟了,一枪撩到一大片!
2 赞
02:10
【买到就是赚到的游戏推荐】:这游戏太烧脑了吧,打完我快异常了截图
【买到就是赚到的游戏推荐】:这游戏太烧脑了吧,打完我快异常了
好难啊!!!我已经大脑过载了! 商店页面:https://www.taptap.com/app/59622
22 赞
1 回复
00:51
21关邪修三行速通截图
21关邪修三行速通
不知道为什么录屏复盘以后莫名其妙开始剪视频了。。不管了剪都剪了发吧,邪修法,纯靠运气,一遍不过就多试几遍 #异常 #编程 #邪修 #速通
1 赞
00:30
玩家关卡 魔方 过关演示截图
玩家关卡 魔方 过关演示
提示里面好多种解,攻击每个核心,上面都会加上或者减去固定值,过程如下(来自营地,仅单个核心攻击不超过10次的解)
9 赞
1 回复
存活检测新方法,简单易懂截图
存活检测新方法,简单易懂
该方法不用考虑士兵顺序编号,只用4个信号,最终31行。 原理:一个单位开信号1,另一个单位关信号1,那么这两个单位可以互相检测对方是否存活(注意其他单位不要开关信号1)。 例如下图,士兵1检测到信号1开,说明士兵2阵亡;检测到信号1关,则说明士兵2存活。 士兵1检测其他4个士兵,需要信号1, 2, 3, 4。如果士兵1阵亡、士兵2存活,则士兵2检测到信号1关可说明士兵1阵亡,此时信号2, 3, 4
精华
4 赞
2 回复
00:14
菜鸟的第二次尝试截图
菜鸟的第二次尝试
菜鸟的第二次尝试