异常定位如下:
这一关与存活检测有着异曲同工之妙,都需要通过信号对友军的存活进行判断。与存活检测关相同,机器人的代码也是按编号顺序执行的(按照1-2-3-4-5-6-1的顺序执行指令)。这关只能使用信号1-3,那么显然,我们需要用二进制为每个机器人编号 编号 信号1 2 3 1号 1 0 0 2号 0 1 0 3号 1 1 0 4号 0 0 1 5号 1 0 1 6号 0 1 1 当代码顺序执行时,信号123就会在100与011之间循环,这样我们就能通过上一个机器人产生的信号来判断友军存活状态。 为实现本关目标,我们规定每个机器人只经过逆时针方向下一个存活机器人之前所有死亡的机器人,这样,就不会产生重复,也更易编写代码。 以左上角的1号机器人为例,逆时针方向上为6号,顺时针方向上为2号,当执行完1号的代码时,信号为1开2关3关,若再次回到1号时,信号的状态还是1开2关3关,说明除1号外均死亡,那么1号就需要路点FEDCB;若信号为1关2关3开(4号),则说明上一个存活的机器人为4号,那么1、4号之间的5、6号均死亡,经过路点FE即可。同理可以得出其他情况代码。若检测到信号为1关2开3开(6号),即恰好为上一个机器人,则与逆时针方向上下一个机器人之间无死亡机器人,不需要移动,代码可以省略。 为防止自身对应信号开启影响判断,把这句代码放在最后一行即可在判断完后改变信号。2-6号的思路没有任何区别。按照这一思路,每个机器人有六行代码,那么最简情况就是6*6=36行。
以上就是异常定位相关内容。