本帖最后由 QAQTAT 于 2013-4-20 08:48 编辑



<----------依旧是混首页的一览图。

    信号输出部分:
并排的RS,中间间隔1行,每个Q端接至命令方块。从左至右分别为:1、2、3、4、5、6、7、8、⑨、0(请无视)
命令方块也对应着输出:/xp 1l @p、/xp 2l @p、/xp 3l @p
意思就是说给最近的玩家1(2,3,4,5,6,7,8,9)级的经验值。简单的RS结构。现在为Q—端输出。
现在为Q端输出,一旦按了一次按钮,就只会输出一次信号。你无论在戳多少次他都是输出一次。这样就达到了将经验值最高保存至45级(1+2+3+4+5+6+7+8+9+0=45)。清零部分就是这样一个简单的操作。这样就可以继续输出信号。这边接的是短暂脉冲发射器和非门。当清零信号输出的时候,就会输出短脉冲,清空电路。其实这个短脉冲可以不要,只不过我是闲着太蛋疼才加上去的。


    计算部分
左边接的是十位数端,右边界的是个位数端。
先来讲十位,从右至左分别是10、20、30、40的输出,有人会问,为什么没有50、60……呢?我刚才说了,1+~9=45,所以最大的十位数是40,自然就额米有后面的了。第一个(从右边开始数)命令方块输入:/testfor @p[lm=10,l=19]意思就是说寻找最近有没有最小经验=10,最大经验=19的玩家,有则1信号输出。当有信号时,红石火把熄灭,对应的输出端亮起,输出端我待会儿会讲。第二个命令方块输入:/testfor @p[lm=20,l=29]就是寻找最近有没有最小经验=20,最大经验=29的玩家,有则1信号输出。 以此类推。。。。。。。。
然后就是个位的了,由于个位有10位数:0123456789,考虑到的因素就更多。每个萤石输入口前接一个中继器,不然的话太蛋疼,因为红石的传输是有限的。利用红石爬墙的特性,激活每个命令方块。命令方块中输入/testfor @p[l=x,lm=x]
各个命令方块的X值如下,请对照图片和表格。
XX X X X XX X X X
404142434445
30 31 3233 34 35 36 37 38 39
20 21 22 23 24 25 26 27 28 29
10 11 12 13 14 15 16 17 18 19
0 1 2 3 4 5 6 7 8 9
表示各种不会用表格蛋疼死了。
每一行中,只要有一个输出信号,就会熄灭对应一行的火把。
上面指令是:/testfor @p[lm=x,l=x](假设X=1)  意思就是说,寻找有没有最小等级是1,最大等级是1的玩家,其实也就是等级只限制在1级。有则1信号输出,由于能量还要传输,所以必须加上中继器。
不难发现,这10个输出中只有1个火把是灭的,从下至上分别对应的数字是:0、1、2、3、4、5、6、7、8、9。  现在我没有等级,十位数那边不会有亮起,个位这边就是控制0的,输出就是0了。


    清空部分
大家可以看到清零部分也连接到了计算部分,为的是让红石比较器感应到玩家经验值的变化,因为红石比较器只是对1次信号输出的保留,如果输出变化,需要再次向命令方块输出信号才可更改输出。{:10_516:}上面连接的命令方块输入:/xp -9999l @p  就是清空最近玩家的经验值。(其实是-9999级的经验值。还接到了输出的部分,重置输出,以便下次计算。{:10_495:}


    代码部分
其实看过我显示器和计数器的教程的人不难理解。
大家可以移步至:
红石显屏计数器讲解(新增视频!)by.捏捏 TRP出版社~http://www.mcbbs.net/thread-89389-1-1.html

。。。。。

    作者的慷慨:
其实这个计算器不难,也不简单,考验的不仅仅是玩家对模电与数电的理解程度,更是考验了玩家对红石逻辑门、红石爬墙、译码输出、并排紧凑的知识。
最后,请轻轻献上你们的金币和人气,捏捏定感激不尽!