第九十二章 简单的红石脉冲

(此章节原为『红石比较器』,于2022年7月27日改为『简单的红石脉冲』)

(此章节有用到本章说来插入图片,因此最好在起点中文网上阅读本章)

在版本中,mojang才为命令方块加入了『连锁』和『重复』这两个模式。因此在版本之前,命令方块只有『脉冲』这一种模式,也就是说命令方块在当时得依靠红石电路才能实现重复和连锁执行。虽然现在已经有了『重复』和『连锁』,但我们仍然应该要了解一下这个在版本前被广泛用于命令方块执行的东西:

红石脉冲(redstone pulse),俗称红石循环。

首先,让我们了解一下:什么是脉冲?

脉冲(pulse),又称脉波、脉冲波(pulse wave),指的是『一信号幅度的快速暂态变化,由基准值变为较高或较低的值,之后又快速的回到基准值』,用人话来说,就是一个东西,由一个形态快速变化成为了另一种形态,然后又快速回到了原本的形态。脉冲是有规律的,比如每1秒改变一个来回,或每0.05秒改变一次。在minecraft中,红石脉冲,也就是我们俗称的红石循环,就是指在短时间内,一段红石电路的信号快速地从无到有,再从有到无的过程。

红石脉冲有很多种类型,但最常见的无非也就这四种脉冲形式:

1普通脉冲(红石中继器脉冲)(插图92-1)zuqi.org 葡萄小说网

2单刻比较器减法脉冲(插图92-2)

3延迟减法脉冲(插图92-3)

4红石火把脉冲(插图92-4)

这四个脉冲各有各的优势,具体可以看下表:

脉冲名|速度|资源消耗|稳定度|简单程度

普通|+|++|+|+

单刻比较器减法|+|+|-|+

延迟减法|-|+|++|-

红石火把|+|+|--|++

如果你要速度快,就采用『红石火把脉冲』或『单刻比较器减法脉冲』,如果你要稳定度好,就采用『延迟减法脉冲』,如果你要卡服,就采用......额,估计你不想你的服务器变得很卡吧?

说了这么多,那么这四个脉冲的速度究竟如何?

我们可以通过命令方块将三者在一定时间内的执行次数转化为分数,来与实际经过的游戏刻数进行对比。我们可以创建一个叫做timer的计分项,把分数放在上面之后将timer显示出来,接着让计算脉冲次数的和游戏刻消耗刻数的命令方法同时被激活,就像插图92-5一样。

然后我们就可以得到普通脉冲的执行数据:

游戏刻(gametick)——803

次数(times)——202

执行一次消耗游戏刻数(gametick\/times)——3.975≈4

每秒执行次数(s\/gametick·times)——5.031≈5

我们同样可以使用此方法,来测出另外两个的速度:

--单刻比较器减法脉冲(插图92-6)

游戏刻(gametick)——809

次数(times)——203

执行一次消耗游戏刻数(gametick\/times)——3.985≈4

每秒执行次数(s\/gametick·times)——5.018≈5

--延迟减法脉冲(插图92-7)

游戏刻(gametick)——800

次数(times)——100

执行一次消耗游戏刻数(gametick\/times)——8

每秒执行次数(s\/gametick·times)——2.5

--红石火把脉冲(插图92-8)

游戏刻(gametick)——804

次数(times)——202

执行一次消耗游戏刻数(gametick\/times)——3.980≈4

每秒执行次数(s\/gametick·times)——5.025≈5

可见,这四个脉冲中三个的速度是每秒5次,唯一一个较慢的是每秒2.5次,这与『重复』命令方块每秒执行20次的速度相差甚远。但鉴于红石电路确实比较慢,所以这样的速度还能够理解。

但别忘了,本书是一个指令教程,所以我们用红石脉冲的目的并不是要弄红石电路,而是要让『脉冲』命令方块也能够实现重复执行的效果。而对于重复执行的命令方块来说,一个非常重要的特性就是:要容易控制

『重复』命令方块在『需要红石』的模式下,可以通过setblock或fill指令填充红石块或空气来实现控制的效果——这是一个十分流行且方便的控制方法,特别是在一些地图中,你应该也见过这种方法。而对于红石脉冲来讲,能不能用同样或类似的方法进行控制,就是一个非常重要的评判标准。

在上面的四种脉冲中,『普通脉冲』最不容易被控制(你可以研究一下怎么控制这东西),而剩下的三个都能够很好的被指令控制,其中红石火把的控制方式较为特殊——你需要放置的是红石粉而不是红石块(插图92-9)。

这就是本章的全部内容。

上一章目录+书架下一章