[乐游网导读]计数器(Counter)的作用是每次输入信号就+1,举个例子就是按一下按钮,输出1,再按一下,输出2,再按一下,输出3,以此类推。
计数器(Counter)的作用是每次输入信号就+1,举个例子就是按一下按钮,输出1,再按一下,输出2,再按一下,输出3,以此类推。不过不可能计数出来的直接是十进制数,而是二进制数,至于如何把二进制数转成十进制数,就去网上搜译码器教程。
计数器由T触发器串联而成,T触发器不用解释了吧,通俗来说就是按一下按钮灯亮了,再按一下灯才灭
在MC中,我们可以依靠粘性活塞的接收到短信号将方块推出而不收回特性来做T触发器(详见wiki)
首先做一个0.5刻信号发生器,用1.5+版本的同志们请务必把这个东西对准太阳轨迹(即东南方向)
然后我们加上一个向上的活塞+方块,这就是一个T触发器,可以试试看这个时候输入一个信号会让这个活塞把方块推出而拉不回
然后我们把这样的活塞+方块多做几个,中间用红石和中继器交替拼接,这就是T触发器的串联效果了,为了防止搞混各个活塞的作用,我把用来制造0.5刻信号的活塞上的方块换成了红石灯,其余的都是用来计数的
为什么要这样放,而不是全放中继器,因为这样延迟最小,而且这正好符合充能理论(详见wiki)
现在我们点一下按钮,放出0.5刻信号,所有活塞把方块推到上面去,这是因为活塞在收到短信号的时候会推出方块但也会使这个0.5刻信号传到下一个活塞那里,导致了这种现象,相当于每个活塞都是一个完整的T触发器,可以避免做一大堆的0.5刻信号发生器
我们把推出的方块当做0,收回的方块当做1,现在如下图所示就是数0000
我们再点一下,只有第一个活塞会收回,0000变成了0001
然后我们再按一下,0001变成了0010
再按一下变成0011
再按一下变成0100
但是光是几个方块不能当做红石信号,所以我们现在把它转换成红石信号
首先在方块上放一个沙子,因为沙子可以受到重力影响,当下方的方块被拉回去时,沙子也会掉下去
然后我们在沙子左边做这样一个永久开启的信号,并且对沙子强充能
至于为什么一定要对沙子充能,是因为如果直接对铁块充能会导致方块更新感应(详见wiki),活塞会无法收回
因为我们将被推出的方块作为0,收回的方块作为1,而现在我们对沙子进行充能,那就会导致0变成1,1变成0,所以我们在右边放上一个方块+红石,并且用红石火把把原来的答案修正,方块收回还是1,方块推出还是0
我们给每个活T触发器塞都加上这个“方块-红石信号转换器”
按一下按钮,红石输出0001(即1)
再按一下,输出0010(即2)
再按一下,输出0011(即3),以此类推
4位的计数器(就是四个输出的计数器)最大能计数到1111(即15),当计数到这个数时再按一次按钮会归零
如果我们要倒计数(即5,4,3,2,1,0),我们只要把输出地方的红石火把去掉就可以了
按一下1111(即15)变成1110(即14)
再按一下变1101(即13)
再按一下变成1100(即12)
热门评论
最新评论