搬运会分多个大章节(不是骗加分……页面内容实在太多没办法)
这一篇主要由Nonomori翻译。我对其进行了校正。
逻辑门可以想象成是一个会返回输出结果的简易装置,输出结果由输入以及逻辑门的规则决定。举个例子,如果两个输入到与门的信号都为 '真'(也就是激活状态),则与门将会返回'真'作为输出结果。欲知更深入的信息和更好的解释可以阅读维基百科:逻辑门。
下面是一些基础逻辑门的示例图标和MC红石模拟图。除此之外,另有许多不同于下面的方法来建造逻辑门。您可以参考任意一种方案以满足您需要。大部分电路有许多种不同的接法,不同的接法可能在某些方面有优势,却在某些方面有劣势(如电路规模,电路复杂程度,电路效率以及维护花费)。
须知 :
- “1刻” 是"红石火把接收电能"以及"红石火把的开和关(由红石火把初始状态决定)"之间的延迟。
- 红石中继器通过右键点击可以设定延迟为1、2、3、4刻。一刻等于0.1秒,一个游戏周期等于0.05秒。详见主条目,游戏周期。
- 快速脉冲(即冲激串信号)发生器对于传统中继器来说太快了。
- 有时,逻辑门设计的简洁性可能会导致输入或输出“非独立”。所谓“非独立”——以“输入非独立”为例,指如果运用不当的话,不同的输入信号之间可能会互相影响(比如说输入端A竟然传到了输入端B)。
基础逻辑门图示
活塞电路活塞电路是采用活塞来实现逻辑门功能的电路。在某些情况下,活塞电路能够比传统的逻辑门电路规模更小。一些特定的电路,例如特定占空比的时钟信号发生器,采用活塞更为稳定。
电路符号每个符号代表从上面看下来,竖直方向堆叠的一到三个方块(大多数情况下是一或两个)。所有的描述都是相对于于一个您所要建造逻辑门在上面的“地面”而言的
非门(NOT gate)(¬) 非门(反相器)
使输入信号反相输出的装置,也因此称“反相门”或者“反相器”。
A | ¬A |
1 | 0 |
0 | 1 |
设计方案 | A | B |
尺寸 | 1x1x2 | 1x2x1 |
红石火把数量 | 1 | 1 |
红石粉数量 | 0 | 0 |
输入独立? | 是 | 是 |
输出独立? | 是 | 是 |
或门(OR gate)(∨)
三输入(a/b)和四输入(c)的或门
至少有一个输入端信号为真,或门就会输出信号真。
图示A是一个简易版本的或门:仅仅是一个连接着输出和输入的红石线。不过这也导致这个或门的输入非独立,所以特定的一个输入信号只可用于这一个或门中。如果你想在其他地方使用输入端信号,必须使用红石火把(版本B)或者红石中继器来隔离信号。
版本C可以在水平方向将独立的输入信号扩展到至多14个(由横向的“总线”的信号传递距离限制决定), 并且比版本B快一个红石周期。然而,由于一个红石中继器需要三个红石粉来制作,故版本C需要较多的红石粉。
注意到事实上,版本B就是反相的或非门。
A | B | A∨B |
1 | 1 | 1 |
1 | 0 | 1 |
0 | 1 | 1 |
0 | 0 | 0 |
设计方案 | A | B | C |
尺寸 | 1x1x1 | 1x3x2 | 2x(y+1)x1 |
红石火把数量 | 0 | 2 | 0 |
红石粉数量 | 1 | 1 | 7 |
输入独立? | 否 | 是 | 是 |
输出独立? | 否 | 是 | 是 |
最大输入数 | 3 | 3 | y(y最大为14) |
或非门(NOR gate)(⊽)
或非门的设计。
或非门只有在至少一个输入端信号为真时,输出信号假。所有的逻辑门可以用这个非或门或者与非门来制作。在Minecraft中,这是一个基础逻辑门,由一个红石火把来实现。一个红石火把最多可以有4个相互独立的输入端(设计版本B),不过3个输入端的版本让人感觉比较舒服(设计版本A),并且所有输入端都是可选的。只有一个输入端的红石火把是一个非门,没有输入端的红石火把是“真门”(也就是电源)。如果需要4个以上的输入端,玩家可以用一个非隔离输入信号的或门和一个用来隔离输入信号的非门配合使用,或者根据逻辑代数公式A ⊽ B ⊽ C = A ⊽ ¬(B ∨ C),用多个或非门也可以实现。
A | B | A⊽B |
1 | 1 | 0 |
1 | 0 | 0 |
0 | 1 | 0 |
0 | 0 | 1 |
设计方案 | A | B |
尺寸 | 1x1x2 | 3x3x3 |
红石火把数量 | 1 | 1 |
红石粉数量 | 0 | 5 |
输入端数量 | 3 | 4 |
输入独立? | 是 | 是 |
与门(AND gate)(∧)
与门的设计.
与门只有在所有的输入都为真时,才会输出真。这种行为方式相当于一个三态缓冲器,输入端B就像一个开关,但它关闭后,输入端A就与电路其他部分断路了。不过与现实生活中的三态缓冲器不同的是,Minecraft里不可以驱动低电压。(参考维基百科来获知更多信息)
一个应用例子是建造一个可以锁住的门,如果要开门,就需要同时按钮按下以及锁(通常是拉杆)打开的情况下激活按钮。
A | B | A∧B |
1 | 1 | 1 |
1 | 0 | 0 |
0 | 1 | 0 |
0 | 0 | 0 |
设计方案 | A | B | C | D |
尺寸 | 3x2x2 | 2x3x2 | 1x6x5 | 3x3x1 |
红石火把数量 | 3 | 3 | 3 | 0 |
红石粉数量 | 1 | 2 | 3 | 2 |
与非门(NAND gate)(⊼)
只有1方格宽的与非门设计方案C(侧视图)
与非门在所有的输入都为真时,输出假。
A | B | A⊼B |
1 | 1 | 0 |
1 | 0 | 1 |
0 | 1 | 1 |
0 | 0 | 1 |
设计方案 | A | B | C |
尺寸 | 3x1x2 | 2x2x1 | 1x3x3 |
红石火把数量 | 2 | 2 | 2 |
红石粉数量 | 1 | 1 | 4 |
输入独立? | 否 | 否 | 只有A输入端 |
异或门(XOR gate)(⊻)
异或门的设计 (点击看动画)。
异或门设计版本H
异或门设计版本F
异或门在输入信号不同时输出真,否则输出假。也就是说,当且仅当一个输入信号为真,才会输出真。在异或门的输出端加一个非门可以做成一个同或门,同或门只有在输入信号相同时输出真。一个有趣的特性是,一旦异或门或者同或门的输入端信号发生改变,它们的输出端总会改变,这就使得制作一扇需要两个开关配合才能打开或关闭的门或者其他装置有了可能。
设计版本D没什么用途,除非你想用拉杆来控制电路。设计版本F是最节省空间的版本。
当使用设计版本F,一个固态方块必须放在两个放置在固态方块之上的火把之间。就如右图所示的那样。
A | B | A⊻B |
1 | 1 | 0 |
1 | 0 | 1 |
0 | 1 | 1 |
0 | 0 | 0 |
设计方案 | A | B | C | D | E | F | G ! |
尺寸 | 3x5x2 | 3x3x3 | 5x5x1 | 3x3x2 | 5x4x2 | 3x3x3 | 5x2x2 |
红石火把数量 | 5 | 5 | 3 | 3 | 3 | 5 | 8 |
红石粉数量 | 6 | 5 | 14 | 3 | 12 | 4 | 4 |
红石中继器数量 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
速度(红石周期) | 3 | 3 | 2 | 2 | 2 | 3 | 3 |
输出位相 | 正 | 反 | 正 | 正 | 正 | 正 | 正 |
需要拉杆? | 否 | 否 | 否 | 是 | 否 | 否 | 否 |
同或门(XNOR gate)(≡)
同或门的设计(点击播放动画)
在逻辑学里,常常用"当且仅当"("iff")。当且仅当输入端信号相同,同或门会输出信号真。换句话说,两个输入信号中的任何一个发生改变,输出信号都会发生改变。同或门可以由在异或门的输出端或者其中一个输入端加非门来实现。一个Minecraft里同或门应用的例子是连接两个安装在同一个门上的拉杆。
A | B | A≡B |
1 | 1 | 1 |
1 | 0 | 0 |
0 | 1 | 0 |
0 | 0 | 1 |
设计方案 | A | B | C | D | E | F |
尺寸 | 4x3x2 | 4x3x2 | 2x5x4 | 3x5x3 | 4x5x2 | 4x5x2 |
红石火把数量 | 6 | 4 | 4 | 4 | 4 | 4 |
红石粉数量 | 5 | 5 | 7 | 7 | 10 | 9 |
速度(红石周期) | 3 | 2 | 2 | 2 | 2 | 2 |
输出位相 | 正 | 正 | 正 | 正 | 正 | 反 |
需要拉杆? | 否 | 是 | 否 | 否 | 否 | 否 |
蕴含门(IMPLIES Gate)(→)
蕴含门的设计
蕴含门是一种执行实质条件运算的装置。当A → B的执行为假时,蕴含门返回假。也就是说,如果起因A为真,但结果B为假,则蕴含门返回假。通常我们也将这个概念读成「如果A那么B」,或者「B或非A」。
设计版本C在输出为真时需要2个周期,输出为假时只需要1个周期。如果你必须同步输出周期,一般会放一个红石中继器,用红石中继器来延迟1个红石周期从而使输出同步。
A | B | A→B |
1 | 1 | 1 |
1 | 0 | 0 |
0 | 1 | 1 |
0 | 0 | 1 |
设计方案 | A | B | C | D |
尺寸 | 2x2x1 | 2x1x2 | 2x3x2 | 1x3x2 |
红石火把数量 | 1 | 1 | 3 | 1 |
红石粉数量 | 1 | 1 | 2 | 2 |
速度(红石周期) | 1 | 1 | 2 | 1 |
输入独立? | 只有A | 只有A | 是 | 只有A |
输出独立? | 否 | 否 | 是 | 否 |