[glowstone_dust]part 1 核心元件:投币发货系统 阅读需要:基本红石知识、漏斗和比较器基础知识
[redstone_dust]做自动售货机最重要的是什么,当然是收钱和发货。那么,怎样确定玩家是否投币从而发货呢?在这里,我们就要请上1.5版本后红石界新增的两大重要成员——漏斗、红石比较器。
[redstone_dust]先说漏斗,作为自动售货机的核心元件,它在整个机器中起到了不可或缺的作用,下面是它的尊荣(你说那边的坑,呵呵,不要在意那些细节):
[redstone_dust]别看他其貌不扬,它的作用可大着呢,它能够将自己上方或隔了一块半砖上方的掉落物吸进来并按一定速度输送到下面的容器内(如果有的话),根据这一点,我们可以做出一个投币窗口,当玩家投金币在它上方时它就可以将其传输到下面的发射器中(本装置使用发射器)。
[redstone_dust]做好投币窗口,接下来就是验证玩家是否投币,我们用比较器实现。在发射器前方放一个红石比较器,然后用红石绕一圈连回发射器,如图所示:
[redstone_dust]这样做的原因是因为比较器可以检测后方容器内的物品数量并输出相应大小的数量,就拿我的装置中所使用的货币钻石为例,0-22个为零信号,23-41为一格信号,42-64为两格信号(好像所有的不可堆叠物品都是这样的),因此,我们在发射器里均匀放上41个钻石,比较器会输出一格信号,整个系统没有反应。但是当我们再投入一个钻石,信号会变成两格,然后会被红石中继器(两格延时)加强从而激活整个电路,发射器就会射出一个钻石,之后信号又重新退回一格。这样一来,就实现了每投入一个钻石就可以激活一次红石电路的设想。
[redstone_dust]解决了这个,后面的部分就很简单了,再用中继器连出一个输出端(中继器前放一个普通方块再连出输出端,这个普通方块代号为X,以后解释),分成两路连接发货的两个发射器并取反连粘性活塞,整个电路如下:
[redstone_dust]用石头造的那个是售货地点,玩家在里面的半砖上投钻石,被漏斗吸入送进发射器,然后输出两格信号并被直走的中继器(零格延时)传上来,由于连往发射器的两格中继器有三格延时,所以先通过非门使活塞收上来,接着发射器被激活透过活塞收上来时的两个空缺射出货物和发票(事先准备),这样玩家就买到了货物(只能以一换一)。当交易结束后,由于最下面的那个发射器被激活射出一个钻石,使得信号收回,活塞再次推下,整个系统回复原本状态。
[redstone_dust]OK,这就是自动售货机的核心元件了,你学会了吗?
|