前文:介于前面的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