
本文不适合完全没有红石基础的玩家阅读。
纵观现今的红石世界,诸多领域百花齐放。然而当我们把眼光投入到若干年前,那是一个充满未知的时代,一个摸黑前行的时代。这话未免有些夸张的成分,但有一说一,当年的前辈们确实是在探索中前行,不断挖掘着红石世界的秘密。
于我而言,我可能较多的关注的是当时关于延迟理论的争论,虽然更多的是马后炮式地窥探前人留下的印记,但也对延迟理论有了自己的认识。在此,我想分享一下我眼中的延迟领域。所以从这期开始,让我们追随前人的脚步,逐渐深入延迟的本质,感受延迟理论带来的魅力。
这期专栏我们先从延迟本身谈起,谈谈延迟的一些基本知识,为我们后面的讨论打下基础。还以介绍一种可以比较延迟大小的装置,带我们更好的走近延迟。

当你踩下踏板时,经过红石电路一系列的运算,最终打开了你面前的活塞通道。想必这样的活塞门,大部分玩家或是看别人玩过,甚至可以说很多人都自己搭建过。
显然,当你踩下踏板后,并不是你眼前的方块瞬间就不见了(当然这里不考虑那些极速活塞门),而是需要一段时间。这便是因为,红石电路存在延迟。
通俗来讲,当你踩下踏板时,游戏首先接受到的讯息是“你踩了踏板”,但是游戏并不能直接把这个讯息转化为“活塞门开启”,而是通过一系列红石元件的传递,将踩下踏板产生的红石信号最终传递给活塞,让活塞门开启。延迟就是红石信号在元件中传递所需要的时间。
讲到时间,我们可能第一反应会想到日常生活中的时间单位——“秒”。但是在红石电路中,我们一般不用到“秒”这个单位。下面介绍两个最常用的用于描述延迟大小的时间单位。
红石刻(Redstone Tick),是红石电路运算时最常用到的时间单位。因为红石刻非常常用,所以我们一般也把红石刻简称为刻。在没有其他说明的情况下,下文提到的所有“刻”都表示“红石刻”。红石刻的单位是rt,也简写作t。并规定:1红石刻是0.1秒,即1t=0.1s。
游戏刻(Game Tick),是Minecraft运行时的最小时间单位。它是游戏内部设定好的更新间隔和循环周期。对游戏刻我们现在可以稍做了解,在之后的几期探讨中我们还会提到。游戏刻的单位是gt,且有:1gt=0.05s,即1t=2gt。
为简化表示,我们一般把延迟记作D{X},其中X表示一段电路或是一个元件。
常用的三个红石元件的延迟如下:
D{红石比较器}=1t,D{n档中继器}=nt(1≤n≤4),D{红石火把}=1t。
另外,D{红石线}=0。

下面我们介绍一种可以比较延迟大小的装置——精密时序比较器。
在此之前我们必须先来了解一下中继器的D锁存性。
我们知道,中继器可以将输入端的信号转化为强度为15的信号并从输出端输出,且中继器一般不能从侧边输入信号,所以也常用于隔开两列并行电路。但当另外一个中继器对着中继器的侧边,将会体现出中继器的D锁存性。

图1-1
图1-1中有两个拉杆,分别在金块和铁块上。可以看到,铁块上的拉杆对应的中继器从侧边对着金块对应的中继器。当拉下金块上的拉杆,红石灯正常亮起,毋庸置疑。如图1-2。

图1-2
此时若拉下铁块上的拉杆,会发现中继器的中间出现了一条横杠,如图1-3。

图1-3
这时再收回金块上的拉杆,可以发现,中间的红石中继器没有熄灭,而是保持亮起,自然红石灯也就不会熄灭。如图1-4.这个时候我们称这个中继器处于1锁存态,即不管输入信号有无,其输出信号始终存在。

图1-4
对应的,当金块上的拉杆未拉下时,拉下铁块上的拉杆,会使中继器进入0锁存态。此时无论输入端信号有无,中继器都不输出信号。如图1-5、图1-6所示。

图1-5

图1-6
如果同时触发两个中继器,信号恰好不能从中继器中输出,如图1-7所示。

图1-7
这就是中继器的D锁存性。它可以固定红石中继器的输出状态。利用这一性质,就可以制作简单的精密时序比较器。

图1-8
图1-8所示就是一个比较粗糙的精密时序比较器。初看上去可能略显复杂,下面我们对其结构进行简单的说明。先说左半部分,拉杆连出的两条线,经过白色羊毛区域后,分别于蓝色羊毛端和绿色羊毛端相连,这就是要比较延迟大小的两条线路。在白色羊毛区域可以添加任意红石元件的组合来发生延迟。例如图1-9是一个示例:

图1-9
再来看右半部分。右半部分接线可能有点乱,但我们关注于红石灯前的一小块电路,不难看出这就是我们刚刚介绍的中继器D锁存态的模型。只不过上下两个红石灯前的两个模型刚好对称。蓝色羊毛对应的红石灯前,是蓝色端作为输入端,绿色端从侧面输入;绿色羊毛对应的红石灯前,是绿色端作为输入端,蓝色端作为侧面输入。两边对称的结构让它能够比较两路的延迟。
根据我们之前的说明,不难得出:
D{蓝色端}=D{1档中继器}+D{比较器}+D{比较器}=3t;
D{绿色端}=D{1档中继器}+D{1档中继器}=2t。
显然,D{蓝色端}>D{绿色端}。此时拉下拉杆,现象如图1-10所示。

图1-10
此时,延迟较小的绿色端对应的红石灯亮起。
若此时将绿色端的一个中继器调节到4档,此时:
D{绿色端}=D{1档中继器}+D{4档中继器}=5t>D{蓝色端},实验现象如图1-11。

图1-11
此时,延迟较小的蓝色端对应的红石灯亮起。
若将蓝色端的中继器调至3档,此时:
D{蓝色端}=D{3档中继器}+D{比较器}+D{比较器}=5t=D{绿色端},实验现象如图1-12。

图1-12
此时两灯全部熄灭。
至此,我们得出了精密时序比较器的基本性质:
延迟较小的一路对应的红石灯将会亮起;两路电路延迟相等时,两灯都不亮起。
当然,通过简单的电路性质分析也可以得到相同的结论。利用这一装置,我们可以很直观的比较出两路电路的延迟大小。

当电路中只有如中继器,比较器这些简单的电路元件时,延迟的计算和比较非常自然和简洁。但当电路中出现了活塞时,事情就变得没那么简单了。
下期专栏我们将走入诡异的活塞延迟世界,看看前人如何看待活塞的诡异延迟现象。