泰拉瑞亚泰拉瑞亚传送器串联机制详解如下:
似乎没几个人讲这玩意,讲了的帖子也沉了,我再简单说说。
传送器串联,是指多个传送器接入了同一个电源。此时,由于游戏的底层逻辑,大部分传送台会失效,只会有一组即两个传送台生效实现互传。
那现在就有一个问题:哪两个传送器会激活?
解码大佬们给出了答案:最先触发和最后触发的两个传送器激活。
那么又有个问题来了,同一个电源(包括逻辑门)上的传送器不应该同时激活吗?
其实不然,每个电源有其固定的激活顺序,虽然一个电源里所有用电器的输出结果会在一帧里统一结算,但其内部都会遵循这个固定顺序,也就是说系统会先依次结算好然后统一给你呈现出来。
首先,同种颜色的的电线有其固定的激活顺序。
在泰拉中,电源便是根节点,除电源外的相连的每一格电线都是一个子节点(或者叶节点)。电源触发用电器,实际上是对周围所有相连的电线进行遍历,遍历至用电器的那一格即对其触发。也就是说,同线电器的触发顺序取决于游戏本身采用的搜索算法。
目前知道的是,泰拉的电路采用广度优先遍历。
已知图G=(V,E)和一个源顶点s,广度优先遍历以一种系统的方式探寻G的边,从而“发现”s所能到达的所有顶点,并计算s到所有这些顶点的距离(最少边数),该算法同时能生成一棵根为s且包括所有可达顶点的宽度优先树。对从s可达的任意顶点v,宽度优先树中从s到v的路径对应于图G中从s到v的最短路径,即包含最小边数的路径。
看不懂,对吧。我也看不懂。
不过可以从结果上理解:距离根节点近的节点会被优先遍历。
从泰拉电路来看,就是距离电源电线格数(注意是格数!)少的电器优先激活。如果电路连接成环,就计算其最近的那一条路线。
也就是说,同线多传送器串联,可沿着电线数格数,距离开关电线格数最少和最多的两个传送器生效。
那么多线串联呢?
多线的串联其实就是按照不同类型的电线依次进行广度优先遍历。这个顺序是红蓝绿黄,至于为什么,可以去问red看看他的代码是咋个写的。也就是说,所有蓝线的电器会在红线后按同线激活规则激活,绿线其次,黄线再其次。
即红>蓝>绿>黄
因为本质上只是遍历顺序的改变,因此建议无特殊需求都只进行同线传送器串联,能更好的控制顺序。
举两个例子。
单线串联,图示两个传送器激活。
很明显,右下角离格数最少最近,左上角第二个传送台离开关格数最多,故这两个传送器激活。
多线串联,红线和绿线对应两传送器激活
传送机应用-初级 - TapTap
*
有啥问题下面评论区说。
以上就是泰拉瑞亚泰拉瑞亚传送器串联机制详解相关内容。