明月庄主吧 关注:21,621贴子:240,720
  • 27回复贴,共1

十进制随机数生成器

只看楼主收藏回复

闲来无事做了一个


黄色为随机数生成部分


IP属地:福建1楼2017-06-10 11:33回复
    存档:https://pan.baidu.com/s/1jIOJnxW


    IP属地:福建2楼2017-06-10 11:36
    收起回复
      主要的模块就是这个

      大小6*7*5,算法一样是用二进制表示,用模电转为十进制,判断是否大于10(因为0~9一共10个),超过的重新生成,没超过的输出,主要还是压大小。这只是伪随机,如果要真正的随机生成那就要用命令方块了


      IP属地:福建3楼2017-06-10 11:40
      收起回复


        来自iPhone客户端4楼2017-06-10 12:42
        收起回复
          时间随机!


          5楼2017-06-10 13:12
          收起回复
            我有了一个办法,就是1+3+15 这种算法可以达到不用反复算,而且几率相同


            IP属地:福建来自iPhone客户端6楼2017-06-10 14:20
            回复
              改进好了,体积虽然大了点,但随机发生只要一次,每个数的几率相同


              IP属地:福建来自iPhone客户端7楼2017-06-10 14:40
              收起回复
                这是改进好的,虽然变大了,但是不用重走,输出直接就是0~9


                这是单个的模块,用了比较奇葩的算法,主要就是用二进制的1+3+15=19,来运算,1,3,15为单个单位的最大强度,然后将其转换为模电强度,那有人要问了,模电强度最大到15啊,19超过了,其实红石强度是可以大于15的,这属于强模的范畴,这里不多介绍,我们可以用/give来获取本来不可堆叠的堆叠物品,如图

                注意这里强模(强度大于15的)只能在比较器中传输
                然后讲原理,由1,3,15组成的最大为19,而0~19出现的可能为(分母由于相同舍去),上面为数,下面为可能
                0,1,2,3,4,5 ,6 ,7 ,8, 9 ,10,11,12,13,14,15,16,17,18,19
                1,3,5,7,9,11,13,15,17,19,19,17,15,13,11,9 ,7 ,5 ,3 ,1
                如果我们将大于10统统减10,那么我们可以发现所有数的可能都为20,这时出现的可能就相同了,也就达到随机,同时只会显示的就只有0~9了,想要详细了解的可以下载一下2楼的存档去看


                IP属地:福建8楼2017-06-10 16:05
                收起回复
                  考虑一下梅森算法


                  9楼2017-06-10 18:20
                  收起回复
                    具体做法晚上有空再发


                    IP属地:福建来自Android客户端10楼2017-06-10 19:36
                    收起回复


                      来自Android客户端11楼2017-06-11 13:15
                      回复