观察者/活塞续篇:多重组合元件的情况分析
tyerjs
编辑于 2022年02月13日 13:18
收录于文集
共5篇

前文:介于前面的2篇专栏已经有了基础,那就可以拿来分析实际实践出现的问题。

仅作为证明理论可靠性和深入分析宏观红石原理,应用大佬只需要知道他的特性,所以枯燥很正常。

正文:

观察者检测cd的完善

活塞篇中写到了观察者在检测一部分元件的情况,但这并不完善,为了后文各种察链提供检测的可靠基石,故先总结观察者检测cd的理论。

根据检测cd不同元件分类

图中举例元件存在1rt的察检测cd

活塞篇中因为示题解析用到了中继器和活塞,故举例了这些,但现在扩展了更多的同类元件供参考。他们在被观察者检测时观察者会有1rt时长的检测冷却时间。

问我为什么是这些组合?中继器和活塞正常情况一直不和好?这我也不懂,也许就是Mojang故意的固定搭配,我只是一个热心的帮你们理清楚了。

所以可以把这类元件分类名叫察1cd元件

乱取的233

图中举例元件存在2rt的察检测cd

各种材质活板门,各种材质门,充能/激活铁轨,各种材质栅栏门以及图中举例的都是在被观察者检测时观察者存在2rt的检测冷却时间。

所以可以把这类元件分类名叫察2cd元件

检测cd未知???

红石灯是个很特殊的红石元件,它在各方面都显的不同,它的主要特性就是它的下沿熄灭时间会比正常元件多1rt才开始熄灭,也就是下沿2rt。这正好超出了瞬时检测后2rt检测cd的时间,所以目前没可靠的性质能有效证明红石灯对于察的检测属性。但我猜测应该是2rt属性。

不难考虑到,游戏中总会出现生僻或遗漏的检测情况,再加上以后的版本可能在此理论机制没改的情况下出新元件,所以对于如何判别/证明现有元件对于察检测cd属性需要一个检测方案。下文推导

察+活塞+察

输出101信号

我们将第一行代表经过的延时,第二行代表输入脉冲长度(1有0无),○代表察检测延时,●代表察输出延时;察检测的是活塞,不需要计算活塞推出的延时,所以○和活塞推出同格。

可以发现,○/●都是同类圆相隔1格,且符合察1cd元件,故输出101。

察+红石灯+察

输出1001信号

我们将第一行代表经过的延时,第二行代表输入脉冲长度(1有0无),○代表察检测延时,●代表察输出延时;察检测的是红石灯,不需要计算红石灯亮起的延时,所以○和红石灯亮起同格。

可以发现,○/●都是同类圆相隔2格,且超出检测cd外,故输出1001。

于是总结出:

察+活塞+察输出101

察+红石灯+察输出1001

察+活塞+察+活塞+察

输出1001信号

在分析2联元件察链时,已经从上面得知了单联时的输出,所以只需要把已知的放在第二级元件上分析即可。所以n联察链的解析只能是递推的形式。表格数字符号表示参考上面。

察+红石灯+察+红石灯+察

输出1000001信号

表格数字符号表示参考上面。

察+活塞+察+红石灯+察

输出100001信号

表格数字符号表示参考上面。

察+红石灯+察+活塞+察

输出101信号

表格数字符号表示参考上面。

察+活塞+察+活塞........

当出现多个活塞察链:

第一阶,101

第二阶,1001(上面有提到)

第三阶,101(第二阶第二次信号处在活塞收回cd和察检测cd上,故活塞不响应)类似于察+红石灯+察+活塞+察。

如此往复.........

对脸察(此部分比较模糊,可以无视)

100循环波

我们将第一行代表经过的延时,○代表察检测延时,●代表察输出延时,第二行代表察1,第三行代表察2。

正常情况察会优先检测上一个察的检测延时,但出现检测cd的存在,察会检测输出延时,贴图也是在输出延时开始时变化的,类似于红石灯下沿的特例,故○在每一个●的右上方出现。

2rt输入察2cd元件+察

输出1rt

表格数字符号表示参考上面。

因为检测的是察2cd元件,故符合只输出一次的1rt脉冲。

察+活塞+察+察2cd元件+察

输出1001信号

表格数字符号表示参考上面。

可以发现,第2rt和3rt的时候还处于察2cd元件检测的cd中,故不响应;在第4rt时,已经过了cd且输入信号从1-0,因为检测的是同步类元件所以○在同格位置出现,符合输出1001。

察+活塞+察+察1cd元件+察

输出1001信号

表格数字符号表示参考上面。

可以发现,第3rt的时候还处于察1cd元件检测的cd中,故不响应;在第4rt时,已经过了cd且输入信号从1-0,因为检测的是计划刻类元件所以○在延后一格位置出现,符合输出1001。

察+活塞+察+钟/龙头+察

输出101信号

表格数字符号表示参考上面。

钟/龙头是察1cd元件,可以发现,第2rt的时候还处于察1cd元件检测的cd中,故不响应(钟在下沿本来就不更新,双重保障);在第3rt时,已经过了cd且输入信号从0-1,因为检测的是同步类元件所以○在同格位置出现,符合输出101。

 

续篇到此结束,感谢查看。最后想说的是这个表格理解法让我想起了画时序逻辑图的题目2333