本帖最后由 jianghr 于 2012-8-9 18:34 编辑

存档补充:
地图:       华为网盘:http://dl.dbank.com/c0ub4kquyk
                 论坛备份: 3Bits随机数发生器.rar (131.43 KB, 下载次数: 149)

工程文件:华为网盘:http://dl.dbank.com/c0lnowilbh   
                      请注意该工程文件为导入稳定性而不包括羊,请自行在水池添加
               (↑这个可供MCEDIT直接导入到您的存档里,MCEDIT下载和使用请参见卤蛋的MCEDIT下载及使用教学


很多人都需要随机数发生器,今天下午在度度的红石群里围观时突然有了灵感,于是做出了这个随机数发生器。
这里3Bit指的是3位,就是2的3次方=8,即共有8种输出状态,其实这个仅作演示,愿意添加的话16个(4Bit)、32个(5Bit)、64个(6Bit)……复制粘贴一下都是很随意的。
和某些射箭、摔猪随机的相比这个不用补充弹药,绿色无污染+爱护动物~


看图说话阶段:

总览:

总机共分3部分,右边的是自动清羊踏板羊圈,中间部分是活塞转轮,左边的是译码器输出。
先说羊圈:(感谢度度和iailum的升级建议~)

这里使用了水流向踏板处推送羊,羊随机地踩3组踏板,通过上边沿触发器对3个活塞转轮驱动。
有的同学就会问,羊不下来老踩着怎么办?
其实,所有的踏板都通过延时驱动了上面一排活塞,羊的身高为2,所以一定会被推下来。


这样踏板就清零了。
下面是活塞转轮部分:
其实这部分非常简单,看了就会,它存在的意义就是保持输出状态以及打乱踏板的输出顺序。

里面玻璃还是石头顺序随便摆,不过请注意总数尽量保持一致,不然随机结果就会偏倚。
最后是译码器部分:
这部分怎么说呢,就是把3种2进制的输出铺开成一线(10进制)的输出。其实也没什么:非门+N联或非门搞定。

详细教程请参见输入君的视频教程:http://www.mcbbs.net/thread-19101-1-1.html
                       (↑上面的才是大神,Lv2只是假象而已,我只是路过的红石渣渣)

那么,羊随机踩踏板→转轮打乱输出→输出3bits二进制转为十进制→随机化输出。
全文结束。

愿红石与你同在。
May the RedForce be with you.