设为首页收藏官网网盘国家资源立人课堂 今天是: 2024-03-29    美好的一天,从现在开始投稿

立人创客乐享社区

 找回密码
 立即注册
成都市金牛实验中学校

立人小喇叭+ 发布

信息中心 立人创客游戏化学习三乐法新课程开始啦!欢迎交流分享
04-04 10:04
立人创客社: 祝愿世界太平!地球早日康复!
01-07 11:43
jnschool 请同学们严格遵守国家网络安全规定,文明上网!
01-07 11:41
查看: 2106|回复: 0

红石中继器培养逻辑思维

[复制链接] TA的其它主题
<

338

主题

1105

好友

1万

积分

社区管理员

创客导师

Rank: 9Rank: 9Rank: 9

积分
18049
威望
2973
立人币
8161
贡献
1229
大金牛币
444
乐创奖
39
乐享奖
12
乐课奖
6
立人证书
6

突出创客优秀版主荣誉管理创客元老

QQ
发表于 2021-1-3 15:05:04 | 显示全部楼层 |阅读模式 |
<

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册

x
红石中继器 (Redstone Repeater)
Redstone_Repeater.png
特性
"红石中继器(Redstone Repeater)"有 4 个特性:
  • 提升强度
  • 单向传输
  • 制造延迟
  • 锁存状态
1.提升强度
"红石中继器"能够将红石信号强度重新提升到 15 单位. 所以, 我们可以使用"中继器"将红石信号传输地很远.
"提升强度"是"中继器"最主要的功能, 这也是为什么叫"中继器"的原因 -- "中间提升能量供其继续";
2.单向传输
只有一个方向的电流可以通过"红石中继器", 其特性类似于现实生活的"二极管"1. "红石中继器"会从后端接收红石信号, 然后从前端发出更新强度后的红石信号. 有凹槽(滑轨)和火把的是"后端", 只有火把的是"前端":
%E4%B8%AD%E7%BB%A7%E5%99%A8%E7%9A%84%E6%96%B9%E5%90%91%E6%80%A7.png
在游戏中放置"中继器"时, 靠近角色的一侧就是"后端", 所以我们应该面朝想要电流流向的方向放置中继器:
%E6%94%BE%E7%BD%AE%E4%B8%AD%E7%BB%A7%E5%99%A8.png
根据之前讨论的"红石粉"的连接特性, 相邻的红石粉之间会自动连接, 而不会接入相邻的红石设备2. 那么利用"单向传输"特性, 在红石设备和红石粉之间放置"中继器", 可以保证接入红石设备, 并且线路之间互相"绝缘":
%E4%B8%AD%E7%BB%A7%E5%99%A8%E7%9A%84%E5%8D%95%E5%90%91%E4%BC%A0%E8%BE%93.png
"红石比较器"也有相同的单向传输特性, 但是由于其侧面也可以输入, 所以通常不使用其实现"单向传输", 而使用"中继器"
3.制造延迟
"红石中继器"能够延迟红石信号的传递.
延时对于某些需要特定时序才能正常工作的复杂机械非常关键, 比如活塞门. 中继器的默认状态是延迟 1 红石刻^3, 对着"中继器"点击鼠标右键, 可以将延迟切换为 0.2 秒, 0.3 秒 和 0.4 秒 (加上默认的 0.1 秒, 一共 4 个档位). 而且, 我们可以通过同时使用多个"中继器"来制造更长的延迟时间.
4.锁存状态
在"红石中继器"的侧面放置一个与之方向垂直的"红石中继器"或者"红石比较器", 当后者被激活时, 前者的红石状态("充能"或者"未总能")会被锁住. 也就是说, 如果前者之前处于充能状态, 后者被激活后, 即使撤掉了前者的红石供能元件, 前者还是会处于充能状态. 这相当于制造了一个"电子锁", 可以用于将门闩死, 或者制造一个 1 位的内存单元. 处于锁存状态的中继器会出现一个挡板标识:
%E4%B8%AD%E7%BB%A7%E5%99%A8%E7%9A%84%E9%94%81%E5%AD%98%E5%8A%9F%E8%83%BD.png
合成方法[td]
物品
材料合成配方
红石中继器
Redstone Repeater
红石火把 + 红石粉 + 石头
Redstone Torch + Redstone + Stone
craft_repeater.gif

红石比较器 (Redstone Comparator)
Redstone_Comparator.png
"红石比较器 (Redstone Comparator)" 能够比较后面和侧面输入的红石信号强度, 也能够用来检测容器的填充度.
特性
"红石比较器"有 4 个特性:
  • 比较红石信号
  • 检查容器的填充度
  • 输送红石信号
  • 单向传输
1.比较红石信号
"红石比较器"有 2 个输入端和 1 个输出端. "主输入端"在靠近凹槽(滑轨)的一侧, "侧输入端"在侧面, "输出端"在有灯的一侧:
%E6%AF%94%E8%BE%83%E5%99%A8%E7%9A%84%E8%BE%93%E5%85%A5%E7%AB%AF%E5%92%8C%E8%BE%93%E5%87%BA%E7%AB%AF.png
"红石比较器"有 2 种模式:
  • 比较模式:
    • 当"侧输入端"的信号强度比"主输入端"强, 则"输出端"输出的信号强度为 0;
    • 其余情况下("侧输入端"的信号强度比"主输入端"弱或者相等), "输出端"输出的信号强度与"主输入端"的信号强度相同;
  • 减法模式:
    • 当"侧输入端"的信号强度比"主输入端"弱, 则"输出端"输出的红石信号为"主输入端"信号强度减去"侧输入端"信号强度;
    • 其余情况下("侧输入端"的信号强度比"主输入端"强或者相等), "输出端"输出的信号强度为 0;

换个说法: 如果我们用字母 A 表示"主输入端", 用字母 B 表示"侧输入端", 用字母 C 表示"输出端", 那么:
  • 比较模式:
    • 当 B > A, 那么 C = 0
    • 当 B ≤ A, 那么 C = A
  • 减法模式:
    • 当 B ≥ A, 那么 C = 0
    • 当 B < A, 那么 C = A - B

"比较模式"和"减法模式"有个共性: 当"侧输入端"的信号大于"主输入端"的信号时, "输出端"的信号强度为 0 当"侧输入端"的信号和"主输入端"的信号相等时, "输出端"的信号强度会根据模式的不同而不同:
  • 在"比较模式"下, 输出的信号强度和"侧输入端"以及"主输入端"相同;
  • 在"减法模式"下, 输出的信号强度等于 0;
那么, 如何切换模式呢?
  • 默认情况下, 比较器处于"比较模式", 这时"比较器"前面的火把是暗的
  • 对着"比较器"点击鼠标右键, 将切换成"减法模式", "比较器"前面的火把会点亮
%E6%AF%94%E8%BE%83%E5%99%A8%E7%9A%84%E4%B8%A4%E7%A7%8D%E6%A8%A1%E5%BC%8F.png
2.检查容器的"填充度"
"红石比较器"可以检查容器的填充度, 然后输出等比例的红石信号强度.
什么叫"填充度"? 比如说, "箱子(Chest)"一共有 27 格储物空间, 那么如果有 10 格被填满(如果是可堆叠的物品, 必须堆叠到最高才算填满 1 格, 比如说草方块可以堆叠 64 个, 那么一格里面必须有 64 个草方块才算填满 1 格)
比如说"漏斗", "漏斗"共有 5 格存储空间, 如果填满 3 格, 填充度为 3/5 = 60%, 那么占据了 3/5 = 60% 的空间, 则比较器会输出 15 60% = 9 单位强度(满格红石能量强度是 15 单位强度): 如果 5 格都装满, 则代表 100% 填充, 那么相连的比较器也会输出 100% 的强度, 即 15 100% = 15 单位强度.
"红石比较器"可以检查以下容器的填充度(你可以认为, 只要带有物品栏的物品都可以被检查填充度):
  • 箱子(Chest)
  • 陷阱箱(Trapped Chest)
  • 潜影盒(Shulker Box)
  • 漏斗(Hopper)
  • 熔炉(Furnace)
  • 投掷器(Dropper)
  • 发射器(Dispenser)
  • 唱片机(Jukebox)
  • 酿造台(Brewing Stand)
  • "探测铁轨(Detector Rail)"上的"带漏斗的矿车(Minecart with Hopper)"
  • "探测铁轨(Detector Rail)"上的"带箱子的矿车(Minecart with Chest)"
已知物品数量, 求解信号强度
"信号强度" = 向下取整 [ 1 + ("所有物品栏的满度之和" / "物品栏总数") * 14 ]
其中, "(单格)物品栏的满度" = "单格中的物品数" / "此类物品最大堆叠数"
以"漏斗"和"箱子"作为例子, 假设两者都有两格装了 64 个木板, 都有一格装了 9 格木板:
%E4%BE%8B%E5%AD%90_%E6%BC%8F%E6%96%97%E5%92%8C%E7%AE%B1%E5%AD%90%E5%A1%AB%E5%85%85%E5%BA%A6.png
那么, 对于"漏斗"来说, 比较器输出的信号强度是:
  • 1 + ( ( 2 + 9/64) / 5 ) * 14 = 6.99375
  • 6.99375 向下取整是 6
  • 所以输出的信号强度是 6 个单位强度
对于"箱子"来说, 比较器输出的信号强度是:
  • 1 + ( ( 2 + 9/64) / 27 ) * 14 = 2.10995
  • 2.10995 向下取整是 2
  • 所以输出的信号强度是 2 个单位强度
实际输出的强度和我们的计算是一致的:
%E5%A6%82%E4%BD%95%E6%B1%82%E8%A7%A3%E6%AF%94%E8%BE%83%E5%99%A8%E8%BE%93%E5%87%BA%E7%9A%84%E4%BF%A1%E5%8F%B7%E5%BC%BA%E5%BA%A6.png
已知信号强度, 求解物品数量
如果你想要输出特定强度的红石信号, 那么就需要计算填充多少东西
所需物品数 = 两者取较大值 { 向上取整 [("容器总格数" * 64 / 14) * ("目标信号强度" - 1)], "目标信号强度"}
以"漏斗"和"箱子"作为例子, 假设我们需要输出 6 个单位强度, 放置的是木板(堆叠上限是 64).
"漏斗"需要的物品数:
  • 计算结果是 (5 * 64 / 14) * (6 - 1) = 114.28571, 向上取整后为 115;
  • 115 (计算结果) 和 6 (目标信号强度) 比较, 较大的数是 115, 所以需要的物品总数是 115
"箱子"需要的物品数:
  • 计算结果是 (27 * 64 / 14) * (6 - 1) = 617.14285, 取整后为 618;
  • 618 (计算结果) 和 6 (目标信号强度) 比较, 较大的数是 618, 所以需要的物品总数是 618
把计算出的物品数装入"漏斗"和"箱子":
%E4%BE%8B%E5%AD%90_%E6%BC%8F%E6%96%97%E5%92%8C%E7%AE%B1%E5%AD%90%E5%A1%AB%E5%85%85%E5%BA%A6C.png
实际输出的红石信号强度的确是我们要的 6 单位强度:
%E5%A6%82%E4%BD%95%E6%B1%82%E8%A7%A3%E6%AF%94%E8%BE%83%E5%99%A8%E8%BE%93%E5%87%BA%E7%9A%84%E4%BF%A1%E5%8F%B7%E5%BC%BA%E5%BA%A6_B.png
如果我们把计算出的物品数减去 1 呢 (也就是"漏斗"装 114 个木板方块, "箱子"装 617 个木板方块)?
只能输出 5 个单位强度:
%E5%A6%82%E4%BD%95%E6%B1%82%E8%A7%A3%E6%AF%94%E8%BE%83%E5%99%A8%E8%BE%93%E5%87%BA%E7%9A%84%E4%BF%A1%E5%8F%B7%E5%BC%BA%E5%BA%A6_C.png

3.检测"唱片机"播放的唱片
当"比较器"放在激活的"唱片机(Jukebox)"旁边时, 会根据播放的唱片的 ID 输出不同强度的红石信号:
[td]
唱片 ID 名称
输出的红石信号强度
13
1
cat
2
blocks
3
chirp
4
far
5
mall
6
mellohi
7
stal
8
strad
9
ward
10
11
11
ait
12
%E7%BA%A2%E7%9F%B3%E6%AF%94%E8%BE%83%E5%99%A8_%E5%94%B1%E7%89%87%E6%9C%BA.png
4.输送红石信号
"红石比较器"也可以用来输送红石信号, 不会对红石信号产生任何改变, 甚至不会消耗红石信号强度:
%E6%AF%94%E8%BE%83%E5%99%A8%E4%B8%8D%E4%BC%9A%E6%B6%88%E8%80%97%E7%BA%A2%E7%9F%B3%E4%BF%A1%E5%8F%B7%E5%BC%BA%E5%BA%A6.png
5.单向传输
"红石比较器"也具有方向性. 放置"比较器"时, 靠近你的一侧就是"后端", 所以我们应该面朝想要电流流向的方向放置"比较器":
%E6%AF%94%E8%BE%83%E5%99%A8%E7%9A%84%E6%96%B9%E5%90%91%E6%80%A7.png
根据之前讨论的"红石粉"的连接特性2, 相邻的红石粉之间会自动连接, 而不会接入相邻的红石设备. 那么利用"单向传输"特性, 在红石设备和红石粉之间放置"比较器", 可以保证接入红石设备, 并且线路之间互相"绝缘":
%E6%AF%94%E8%BE%83%E5%99%A8%E7%9A%84%E5%8D%95%E5%90%91%E4%BC%A0%E8%BE%93.png
"中继器"也有相同的单向传输特性, 而且大家通常使用"中继器"来实现单向传输, 而不是"比较器". 这是因为比较器的侧面也可以输入, 容易造成超出预期的影响.
%E4%B8%8D%E5%AE%9C%E4%BD%BF%E7%94%A8%E6%AF%94%E8%BE%83%E5%99%A8%E5%AE%9E%E7%8E%B0%E5%8D%95%E5%90%91%E4%BC%A0%E8%BE%93.png
合成方法
"红石比较器(Redstone Comparator)"的合成方法:
[td]
物品
材料合成配方
红石比较器
Redstone Comparator
红石火把 + 下界石英 + 石头
Redstone Torch + Nether Quartz + Stone
craft_redstonecomparator.png
合成比较器需要的"下界石英", 只能在"下界"4才能找到. 当然, 如果你是"创造模式"5, 就不需要操心这个问题.
比较器的简单应用
%E6%AF%94%E8%BE%83%E5%99%A8%E7%9A%84%E5%BA%94%E7%94%A8.png
  • 制作锁: "比较器"处于"比较模式", 而"主输入端" 13 单位强度, "侧输入端" 15 输入强度, "侧输入端" 大于 "主输入端", 所以"比较器"输出强度为 0; 这个结构可以用于"门闩", 比如说自动门加上这个结构, 平常可以使用自动门, 回家后可以闩住门, 保证自动门无法被开启.
  • 指定输出信号: 假设我们想要 2 个单位强度. 将"比较器"切换到"减法模式", 让"主输入端"输入 15 单位强度, 让"侧输入端"输入 13 单位, 正好 15 - 13 = 2
  • 制作脉冲电流: 将"比较器"切换到"减法模式"
    • 阶段 1: "主输入端" 15 单位强度, "侧输入端"输入强度为 0, 所以"输出端"强度为 15 - 0 = 15;
    • 阶段 2: "输出端"强度为 15, 走到"侧输入端"时强度为 13, 此时, "主输入端"的 15 减去"侧输入端"的 13 等于 2, 所以"输出端"的强度变成 2;
    • 阶段 3: ""输出端"的强度为 2, 走到"侧输入端"时强度为 0, 所以"输出端"强度为 15 - 2 = 13
    • 上面的"阶段2"和"阶段3"循环往复, 形成脉冲电流


1. "二极管"具有两个电极, 只允许电流从"正极"流入, 从"负极"流出. 我们会利用二极管的这种单向导电性, 把方向交替变化的"交流电"变成单一方向的脉冲"直流电".
2. 红石粉的连接特性请参考 传输元件
3. 1 个"红石刻" = 0.1 秒, 1 个"游戏刻" = 0.05 秒. 详细解释见这里
4. Minecraft 的地下世界/地狱. 我们可以通过制作"传送门"到达下界.
5. 请参考另一本书 -- "Minecraft 荒野探险家"

楼主热帖
立人创客、创客立人
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

展开
Loading...
快速回复 返回顶部 返回列表