红石系统的"游戏原理"猜想
MC是我目前玩过的最有意思的游戏!对于一个单片机软件狗来说MC的红石系统是真的惊艳到了我,原来游戏中真的有创新和自由。
作为一个游戏时长才100多小时,挖矿最好只能挖到红石、铁矿的新手玩家来说网上的红石攻略对于普通人来说很多都一头雾水,原理模糊不清。于是产生了自己做一个红石系统原理攻略,本攻略是由本人实验兼网络资料主观总结,因没有官方文档很多东西都是对实验结果的猜想,实验条件下未涉及的未知条件可能会导致结论错误。不一定能作为正确答案。不过我想红石系统一定是开发者参考了电路的一些特性加自己的一些发挥开发出来的,所以本文还是有一定的参考价值得
1.红石系统与现实电路的异同
现实电路:
分为模拟电和数字电路
由电源+--->线路--->>开关-->用电器---->电源- 组成一个回路
有电压、电阻、电流这三个参数
红石系统
红石系统更类似于数电
由红石信号发生器---->红石粉线---->各种耗能方块 组成的开路
目前只说一个红石刻,网上认为这是能量强度在这我认为这是信号强度(该信号强度与现实的信号强度不一样)这样更好理解一些
2.从数字电路思考红石系统
数字电路中高电平代表数字1,低电平代表数字0
红石系统中,红石火把亮或者红石线亮可认为是1,火把灭或者红石线暗可认为是数字0
从上面的特性来说方块人也一样可以发展出现实世界一样的信息时代哟,发展潜力很大 !!
3.红石系统中的红石元件
1.红石信号发生器 (拥有最大为15刻的信号强度)
红石火把:提供信号
拉杆:相当于红石火把+开关
按钮类:相当于红石火把+按钮(发送一个开关信号)
储物箱:当储物箱内有物品时也能提供信号
还有其他的种类,在MC中还有很多其他方块能直接或间接提供红石信号
2.红石线:
红石粉放置后会自动连接成线,我在这里认为每格红石线会衰减一格信号。在这里有点类似于电阻R的感觉
实验1
结构:红石火把---->红石线----->红石灯
从红石火把开始(不包括该格)从0开始计数到14,红石灯摆在15的位置会亮
当红石摆在16的位置时红石灯不亮。
总结:假设红石线有R格,那么信号强度SI=15-R。
这样在复杂的地形,如台阶,口型连接,只需要计算放了多少红石粉即可
3.耗能方块:
能衰减电路中的信号,又类似于用电器在MC中几乎大部分方块都能作为耗能方块。例如一个泥土方块也可以是耗能方块
耗能方块的衰减信号情况是什么样的呢?
实验2
结构:红石火把--->红石线L1---->红石灯1----->红石线L2---->红石灯2
实验步骤,
1.调节红石灯1与红石火把之间的距离A,红石灯2与红石灯1之间的距离B观察红石灯2的亮灭,
2.将红石灯2换成其他耗能方块,重复步骤1
实验结果:无论什么方块,A距离如何,红石灯2都不亮,当距离B为0(即没有L2)时,红石灯2亮了。然后我在红石灯2后面再接了一个红石灯3发现红石灯3并不亮
实验结论:耗能方块能衰减完所有剩余信号,还能将信号辐射到紧贴着该耗能方块的其他方块。网上还说有些方块不能辐射,可认为这些方块衰减能力更强
4。红石中继器
红石中继器有点类似现实中的二极管+中继器+分频器的作用。
样子是红石中继器上插着两个红石火把的样子,一个火把可以移动,一个固定。
类似于二极管的地方是红石信号只能从输入端到输出端,而不能从输出端到输入端。
输入端在红石中继器上可移动的红石火把扳手那边,而输出端在对面。
在红石电路中, 耗能方块与其说是耗能,也能说是可以衰减信号,而红石中继器可以补偿。
输入端的信号,让它可以再传递下去,再传递下去的过程中红石中继器也会衰减一格信号。
总结其作用是
1.类二极管的定向流动
2.类中继器的信号补偿
3.类分频器的分频效果
网上说的红石中继器有延时作用其实就是类似分频器的作用。
分频器的作用:降低脉冲信号/载波信号的频率。
什么是脉冲信号?
脉冲信号就是高低电平交替出现的数字信号。
如上图4,和5表示示波器的两个检测通道,现在我将两个通道连接在单片机的两个引脚上,两个引脚可以简单认为是两个信号的发出端
图片中的白色方格,宽度代表时间,高度代表电压
2处红色三角指向的白色线是通道1的低电平(0V)所在线
3处绿色三角指向的白色线是通道2的低电平(0V)所在的位置
上面通道1输出了一个不均匀(高电平和低电平的时间不相等)的脉冲,本来想做个均匀的脉冲更好看点。直到翻到这个图就直接用了。
上面通道2输出了低电平,没有脉冲。
单独的红石火把提供的是高电平,而不是脉冲信号,所以红石火把直连红石中继器其分频器是不起作用的,而要将能发出红石脉冲的“红石电路”与其相连它的这个功能才有效
什么是周期:一个周期就是高电平+低电平的时间 ,单位是s,ms,us,ns
什么是频率:频率是周期的倒数 ,单位是Hz,KHz,Mhz
分频器原理:假设输入信号的频率是100Hz,通过分频器10分频,就是100/10=10Hz
通过T=1/f
输入信号的时间是:1/100=0.01s
分频后信号的时间是:1/100=0.1s
这样就起到了延时的作用了
红石分频器对应着四个档位,具体这四个档位的分频比是多少,我不知道,因为MC中没有示波器没办法做实验测量。
但根据网上说的每个档次延迟的时间为0.1s,0.2s,0.3s,0.4s
我可以假设输入一个100Mhz的脉冲,
10分频对应0.1s,
20分频对应0.2s
30分频对应0.3s
40分频对应0.4s
5. 红石比较器/红石减法器 (或者说信号强度控制器)
红石比较器上有三个红石火把,组成类似T型的结构,输入端在T型的头部横杠,输出端在T型底部尖端 ,尖端部位的红石火把的亮灭可切换比较模式/减法模式,T型的左右两端都是比较端。
比较器模式:当输入端的信号强度>最大的比较端的信号强度时导通并继续输出输入端的信号
当输入端的信号强度<最小的比较端的信号强度时,截止电路
减法器模式(或者说信号强度控制器):输出输入端的信号强度-比较端的最大信号强度
当计算结果为0或负值截止电路,该模式用来控制和调节信号强度
4.红石系统自动化
现实世界中,电路的运用有很多,其中最重要的实现了自动化和信息化。控制机器设备自动化运行。本文只介绍自动化,信息化是个很大的课题。
控制机器自动化运行最重要的一个参数是时间,时间是怎么产生的,其实答案在上面已经给出。没错,就是通过脉冲信号,在单片机内核/手机CPU/电脑CPU都需要一个东西就是时钟源,都是CPU是计算机的大脑,那么时钟源就是这个大脑的心脏。电源只是它的食物而已。
一般的时钟源是一个外部晶体振荡器+驱动电路组成的,以STM32芯片为例一般外接8Mhz的外部时钟,在其
内部通过倍频获得更高的72Mhz的脉冲信号。
那么红石系统是如何发出这个脉冲的呢?
我在查到很多关于红石发射脉冲的搭建方案,大多数都是通过信号延时循环开关的原理
1.红石火把循环短路起振法
我在上面说过,红石火把亮代表高电平,灭代表低电平,在MC中红石火把默认就是亮的状态
想要设计一个脉冲电路,那么就需要知道红石火把是怎么灭的。
1.拉杆灭火把,需要手动操作,不符合自动化原则舍弃
2.短路法灭火把,连接方法是:火把A--红石线-->火把B
实验3.
结构:火把A--红石线-->火把B
实验结果:两个火把都亮着,并未短路
使用总结:红石不会短路?当时未能做出总结,直到碰到了实验4
实验4.
结构:火把A--红石线L--->方块C(方块B上插着火把B)
实验结果:火把A仍然亮着,火把B灭了
实验猜测:我猜测实验3可能是两种情况
1.两个火把表面上看起来是连接在了一起。但实际上并没有连接在一起,这可能是红石线的特性,红石线只会对一个方向的红石信号起作用。比如上面的实验3(信号方向看箭头)A-->红石线<---B,红石线很矛盾,但红石线亮了。我猜测红石线接受了最先与其连接的火把A的信号,而阻断了B的信号。这样的话实验3本质上应该还是一个断路。
2.两个火把连接在了一起,但是脉冲频率太高,导致肉眼看不出来,我们知道肉眼的刷新频率是50Hz,也就是20ms的反应时间,频率高于50Hz肉眼分辨不了,所以认为红石火把没有灭过
实验4应该是真短路了,上面说到耗能方块,衰减完所有信号后还能辐射到与它的5个面相连的其他方块,而火把B插在C上,可认为B是与C的一个面相连了,这样火把B就被短路了,就灭了。火把A任然亮着,如果是上面的猜测1大概是因为红石线L阻断B的信号,或者方块C也会衰减火把B的信号。
通过上面两个实验已经可以做到不通过开关控制红石火把的亮灭
实验5
一个倒L型的结构
实验现象:如上图。红是灯从左到右从上到下分别为A,B,C,火把为D。红石火把点亮了它上面的A,B,但没有点亮它所插的那个红石灯C
实验结论:火把连接了它上面的方块A并辐射到了C
实验6
将红石灯B拆除,换成红石粉
实验现象:其大概快速亮灭了6次,具体几次因为闪烁太快数不过来
实验结论:它有两个信号流
1.当红石粉拍下的一瞬间产生了一刻开关信号熄灭了火把D
2.当红石粉拍下的一瞬间信号从亮着的火把D--->A---->红石粉--->C--->D
因为2的信号走的路太长,等到达D的时候发现D灭了,重新将它激活
此时只剩下一个信号流,因为信号量的原因,最后衰减完毕,不在闪烁
这个实验产生了一个很短暂的脉冲,所以还没有完全达到我们一直发送脉冲的要求
于是有了下面的设计
实验7
这个结构就是两个倒L合并成的类似倒立三维坐标的结构,并将坐标的起点的方块挖掉放入红石粉
这个结构的信号流程是这样的
设,两个火把分别为A,B,A上方的方块为C,B上方的方块为D,插着火把的方块为E
当拍下红石粉的一瞬间,其开关脉冲关闭了通过C关闭了A,等了一小段时间从B--->D--->红石粉--->C的信号到来又打开了A,A又通过E到达B将B关闭,在关闭B的瞬间其实B已经发出过脉冲,又会去关闭A,如此无限循环
实验现象:两个红石火把一直都在闪烁,说明达到了我们的要求
实验结论:这个和实验6的原理差不多,只是多了一个信号流。除了刚开始拍下红石粉的瞬间的开关信号流,当期衰减完毕后,剩下的两个信号流会循环熄灭对方,又被对方点亮这样的无限循环中
使用实验7的结构,然后从两个火把方向引出红实线就可以从这两根线输出脉冲了
这个结构的优点是可以分出两根可独立控制的线,缺点是太占空间
下面我还做了一个结构变形,改良了结构,上面的结构便于解说,但是太占地方
该结构就是在地上挖两个坑,点上火把,然后盖上方块,在插火把的两个方块上放上红石粉即可
这个结构的缺点是只有一个输出端,虽然可以引出多条线,但是使用拉杆的时候会被同时开关
至此我们就具备了自动化控制的前提
下面通过两个实验直观描述脉冲信号的特点和能做的事
实验8
结构:脉冲电路--->红石灯
实验现象:红灯亮,却不闪烁,猜测是脉冲频率太高,在中间加了个红石中继器,将其打到一档以上就能看到
红石灯闪烁了。
实验9
结构:脉冲电路---->发射器或投掷器(作用是发射内部的物品,这类红石方块需要使用按钮类开关按钮其实就相当于发送了一个高电平和一个低电平)
实验现象:会持续发送完内部物品(可以不用放物品,直接听声音,发射器有效就会听到机括声)
实验结论:发射器明显能对更高频率的脉冲做出反应。上面的结构也可以加红石中继器来控制发射速度
本文转载自于九游论坛囧途陌路i ,侵权请联系删除
文本作者:七厢