minecraft红石吧 关注:8,440贴子:43,301

【教程】模红(红石模电)的入门教学与元件应用

取消只看楼主收藏回复


红石模电和红石数电是运算器的两大巨头。
广大玩家对红石模电十分陌生,但是模红在MC中有非常广的应用范围和非常大潜力,所以在此为大家撰写一贴有关模电入门与基础元件普及的的帖子,为了使更多的人能了解到模红对电路压缩的重要性
在此也说明一下,MC中没有真正意义上的模电,红石模电是对MC中利用信号强度进行计算的电路的一种叫法,我们一般简称为模红电路。


IP属地:浙江1楼2015-08-30 19:49回复
    首先介绍信号强度
    我们最常见的不同的信号强度是由红石线的衰减造成的,大家也都知道红石粉最多可以传递十五格,这种情况下被激活的源头红石粉的强度就是15,后面的的依次递减,直到减至0,也就是没有信号。红石粉方块(英文ID:restone_wire),它的16个特殊值(0~15)代表着其信号强度
    注意:红石粉(redstone)是道具,红石粉方块(redstone_wire)是方块,道具不能放被置出来


    IP属地:浙江2楼2015-08-30 19:53
    收起回复
      广告
      立即查看
      我们先讲一个重难点吧,那就是红石比较器(方块状态下英文ID:unpowered_comparator,或者powered_comparator,两者并没区别,并不是说激活了就变成了powered,在F3显示中无论任何状态都显示该方块为unpowered_comparator,但实际测试写powered_comparator也是可以的,其是否激活状态受特殊值的影响)
      红石比较器方块(unpowered_comparator)分为减法模式(靠左边的,前方亮起)和比较模式(靠右边的,前方熄灭),默认状态下为比较模式,对着比较器按右键可以切换模式

      比较器的16个特殊值:
      0~3,比较模式,未激活,分别指向(输出)北东南西
      4~7,减法模式,未激活,分别指向(输出)北东南西
      8~11,比较模式,已激活,分别指向(输出)北东南西
      11~15,减法模式,已激活,分别指向(输出)北东南西


      IP属地:浙江4楼2015-08-30 20:08
      收起回复
        下面我们该讲讲比较器怎么用了
        比较器的比较模式:当背面输入的信号大于等于侧面输入的信号时,输出为背面的信号,否则输出为0(没有信号输入是认为该信号强度为0)
        比较器的比较模式示范:

        (上图中比较器的背面输入是13,侧面输入是10,13>10,所以输出13)

        (上图中比较器的背面输入是13,侧面输入是14,13<14,所以输出0)
        比较器的减法模式:输出为背面输入的信号强度减去侧面输入的信号强度,结果为负数时输出0(没有信号输入是认为该信号强度为0)
        比较器的减法模式示范:

        (上图中比较器的背面输入是13,侧面输入是14,13-14=-1,所以输出0)
        (上图中比较器的背面输入是13,侧面输入是11,13-11=2,所以输出2)


        IP属地:浙江6楼2015-08-30 20:21
        收起回复
          下面介绍只能给予比较器特殊信号的方块与实体
          如下图是容器

          从左到右:箱子,陷阱箱,熔炉,唱片机,发射器,投掷器,漏斗
          这里比较特别的是唱片机,往唱片机内放入不同的唱片会有不同的信号强度,其强度为1~15,跟唱片在创造物品栏的顺序是一样的,依次递增,非常方便,但缺点就是很吵
          其他容器都可以按公式来计算其信号强度
          陷阱箱与普通箱子一样遮住上面不会发出信号
          下面是特殊的方块(和实体),他们不是容器


          背面截一下图,以防有人认为第一个信号源是石英块
          实际上第一个提供信号的是物品展示架(注意这是1.8版本才有的),物品展示架内放进物品时就会有信号,信号由物品展示架后方的非透明方块承接,可以由比较器检测到,其信号强度与物品在物品展示架内的物品指向有关,输出的信号强度为1~8,默认方向输出的信号为1,右键改变方向后信号依次递增,这种特性可以用来做密码门。
          注意:物品展示架是实体,不是方块
          第二个是探测铁轨(被运输矿车压住了看不见),探测铁轨可以给其他红石元件提供信号,但它提供给比较器的信号有不同,当它上方有带有容器的矿车时,它输出的信号强度就是上方容器的信号强度,就是相当于检测了矿车上面载着的容器的物品,除此之外漏斗矿车也是可以的(还有命令方块矿车,这个大家接触的比较少,后面说命令方块时我会说到)
          注意:动力矿车不可以提供信号
          第三个时炼药锅,这是个好家伙,它可以推动,其输出的信号强度为其特殊值(其实就是装了多少水),炼药锅有四种状态:无水、一格水、两格水、三格水,用水桶灌满炼药锅时为三格水,用空瓶子可以每次勺走一格水,有多少格水就有多少强度的信号
          第四个是末地传送门框架,把末影之眼放进去后他会给比较器提供15的信号


          IP属地:浙江10楼2015-08-30 20:55
          收起回复
            比较器隔着一个非透明方块依然可以检测到容器

            下面这些部分也是

            有个例外,就是比较器不能检测到物品展示架本身,必须检测其后方的方块
            还有个例外就是探测铁轨,比较器可以检测到探测铁轨下方方块的信号
            如下图

            在此介绍一下命令方块,比较器也可以检测到命令方块的信号,其信号强度由命令方块本身的一个nbt,successcount决定,命令方块一般情况下successcount都只有1和0,只有命令执行成功时才会变成1,否则为0,。但是我们可以人为地把successcount修改,直接获得自己想要的信号强度,successcount的数字范围是0~2147483647,这也是信号强度的上限


            IP属地:浙江11楼2015-08-30 21:04
            收起回复
              在此补充一下概念,红石信号的分类,强摸与弱模
              弱模信号指信号强度1~15的信号,这是我们最常见的
              强摸信号指信号强度16~2147483647的信号,这种信号只能储存在比较器中,如果输出到红石线中会被强制衰减至15,这也是我们不能直接看见强摸信号的原因
              关于如何制造强摸信号
              1、容器,根据上文我们知道,一些一组只有一个的物品是算作64个的,我们可以用指令强制修改其数量,非常粗暴地把一些不可堆叠的物品堆叠起来,比如64张床堆叠在一起,这样能获得超高的信号强度
              2、命令方块,我们知道了修改successcount可以直接改变其输出的信号强度,这也是非常方便的,
              这是指令:
              /give @p minecraft:command_block 1 0 {display:{Name:"Analogue Command Block"},BlockEntityTag:{SuccessCount:(信号强度数值)}}


              IP属地:浙江12楼2015-08-30 21:13
              收起回复
                慢慢更新,接下来会讲一些更深入的,比如输入取舍和模电算法


                IP属地:浙江15楼2015-08-31 14:29
                回复
                  广告
                  立即查看
                  当比较器后方方块有多个信号输入时,比较器会选择较强的一个信号,但是在强模中又不同了(估计mojang没有考虑强摸信号),这是一个比较深入的知识,如果你认为你的基础比较扎实你就可以了解一下
                  阿散的有关信号取舍的帖子:
                  http://tieba.baidu.com/p/3982614887
                  强模的bug还是蛮多的(不过与其说是bug还不如说我们破坏了游戏规则)


                  IP属地:浙江16楼2015-09-03 19:20
                  收起回复
                    总觉得没什么人,是看不懂的缘故吗。我说的应该蛮详细清楚的了吧


                    IP属地:浙江26楼2015-09-12 09:06
                    收起回复
                      抱歉让大家等了很久.开学缘故我更新地很慢
                      剩下的内容我想想应该还有乘除法模块和数模转换模块,应该没了吧,如果有什么属于模电的知识块没提出来大家可以提出让我补充一下


                      IP属地:浙江31楼2015-09-16 13:21
                      回复
                        原来乘除法需求这么强烈啊,我还在挖其他坑呢,看来还是得先把这个写完


                        IP属地:浙江35楼2015-09-26 17:54
                        回复
                          乘法器:
                          乘法,其实就是累加,比如2x4就相当于四个2加起来,我们把普通的模红加法器改一下就可以变成多个输入端的累加器,其原理是一样的:A+B+C=D-(D-A-B-C),其中D是信号源,越大越好,加数可以继续增加下去,同样是这一条公式
                          如下图,这是一个很易懂的乘法器模型,可以看右边有一个累加器

                          下图是累加器的详细图

                          两个乘数分别控制加数(后方的一排比较器)另一个加的次数(上面的一排活塞),我们看到有3个活塞伸出,后方信号强度为4,所以结果为4+4+4=12


                          IP属地:浙江36楼2015-09-26 18:11
                          收起回复
                            乘法器拓展:
                            鉴于两个数相乘一般结果会比较大,多为强模,上面的模块只是为了阐明原理,接下来给大家放上一些实用的模块
                            强模乘法模块:
                            算法:累加
                            作者:吸管
                            堆叠体积:3x4x2(宽,高,长)


                            如上图,下方的比较器是输入除数的,这个除数控制执行加多少次,由漏斗对其进行累减1,来检测乘数是多少。右上方的比较器输入的是加数,由沙子阀门控制,输入输出都可以是强模
                            下图为堆叠模块:


                            IP属地:浙江37楼2015-09-26 18:24
                            收起回复
                              广告
                              立即查看
                              除法器:
                              (这里先介绍传统算法)
                              除法相当于累减,先介绍算法,设被除数a,除数b,重复执行:当a>b的时候,a的值就等于a-b。
                              减的次数就是商,剩下的a就是余数
                              举例:11÷3,a=11,b=3:第一步:11>3,所以a=11-3=8。第二步:8>3,所以a=8-3=5。第三步:5>3,所以a=5-3=2。这时候a比b小了,结束。一共减了3次,所以商是3;剩下的a为2,所以余数为2
                              所以,11÷3=3余2
                              总结:需要一个比较过程,比较a和b的大小,再进行减法运算。同时需要一个累加器来记录共减了多少次。这种算法的优点是简单直接,但是缺点就是速度不够快,而且对于强模来说这种算法会变成很棘手,其中最耗时间的过程为比较的过程。


                              IP属地:浙江38楼2015-09-26 19:07
                              收起回复