本帖最后由 贰逼 于 2017-7-13 23:54 编辑 
文件:
 random.rar
(573 Bytes, 下载次数: 191)
random.rar
(573 Bytes, 下载次数: 191)
 
功能即获取[min,max]中的随机数
想法来自1.12 Custom-Range Random Number Function
演示:
原理:
全部代码:
文件:
功能即获取[min,max]中的随机数
想法来自1.12 Custom-Range Random Number Function
演示:
原理:
全部代码:
来自群组: Command Block Logic
表示没看懂,随机数在MC有什么用,这个插件是针对什么的?。不管怎么说抢个沙发
1392684709 发表于 2017-7-13 23:57
表示没看懂,随机数在MC有什么用,这个插件是针对什么的?。不管怎么说抢个沙发 ...
.mcfunction是原版的函数文件
贰逼 发表于 2017-7-13 23:54
.mcfunction是原版的函数文件
哦,是因为1.12版本中新增了functions对吧。
OAO哇,恐怖如斯,看不懂
 本帖最后由 chyx 于 2017-7-14 04:52 编辑 
表示看懂了
就是二进制的每一位数随机是1或者0 得到一个0~2147483647的随机数
然后用这个数除以区间长度再加上区间左端点转成所需区间里的。。。
有一个小瑕疵 就是因为2147483647不一定是区间长度的整数倍
造成在取余数的时候得到的各个余数概率不等
------------------------------------------------
举个例子:https://www.zhihu.com/question/62091492
楼主和这个题主犯了一样的错误。
------------------------------------------------
当然 楼主的2147483647相比于使用的区间应该是足够大的(对于通常的使用)
不过如果有人使用0~1000000000的随机数这个问题就会变得很明显
表示看懂了
就是二进制的每一位数随机是1或者0 得到一个0~2147483647的随机数
然后用这个数除以区间长度再加上区间左端点转成所需区间里的。。。
有一个小瑕疵 就是因为2147483647不一定是区间长度的整数倍
造成在取余数的时候得到的各个余数概率不等
------------------------------------------------
举个例子:https://www.zhihu.com/question/62091492
C++的RAND函数生成的值为什么存在严重的不随机性?
用到0~10000的随机,在C++中使用了rand()%10000,结果测试了100亿次数据后,发现在2767值处出现断层,前面0~2767都是122万次左右,后面的都只有91.5万次左右。。。这个是怎么回事,求助~~
楼主和这个题主犯了一样的错误。
------------------------------------------------
当然 楼主的2147483647相比于使用的区间应该是足够大的(对于通常的使用)
不过如果有人使用0~1000000000的随机数这个问题就会变得很明显
chyx 发表于 2017-7-14 04:47
表示看懂了
就是二进制的每一位数随机是1或者0 得到一个0~2147483647的随机数
那么,就C++而言,是否可以通过
(double) rand() / RAND_MAX * 100
来均匀取值?
在MC中是否也可通过类似的方式使随机概率更平均呢?
支持支持
好厉害,顶一下
1392684709 发表于 2017-7-13 23:57
表示没看懂,随机数在MC有什么用,这个插件是针对什么的?。不管怎么说抢个沙发 ...
可以制作原版的命令版幸运方块。
好好好好好好好好
感觉销毁随机列没啥必要啊,反正两列互为反码。。。
(用按位或会不会快一点)
(用按位或会不会快一点)
这个干嘛用的啊?
 本帖最后由 chyx 于 2017-9-4 17:07 编辑 
你是这个意思么?
如果你是这个意思的话 那你这样做是不行的
这样得到每个数的概率不一样
每个数的概率的比例:
乾.坤 发表于 2017-7-21 00:37
那么,就C++而言,是否可以通过
(double) rand() / RAND_MAX * 100
来均匀取值?
你是这个意思么?
比如我想要获取0到99的一个随机的整数
我能够获得0~65535的一个随机整数
于是我获得0~65535的一个随机整数,把他乘以100/65536,然后取整?
如果你是这个意思的话 那你这样做是不行的
这样得到每个数的概率不一样
每个数的概率的比例:
chyx 发表于 2017-9-4 16:56
你是这个意思么?
我觉得理论上是可以均分的,因为其实是把0~RAND_MAX当成一把比例尺进行均分再放大的,不知能否说下实验过程,或者能否解释一下为何不能做到均分,感谢。
啊啊啊啊啊啊啊啊啊啊啊
对不起,看不懂。。。。。。
666666666666666666666666666666666666
666666666666666666666666
随机!!!一直想了解啊啊啊qwq
mark一下,留着以后用到的时候看
534444444444
表示没看懂,随机数在MC有什么用,这个插件是针对什么的
嗯!不错!
炫音界 发表于 2017-7-14 03:21
OAO哇,恐怖如斯,看不懂
看不懂更要学……这种看不懂就丢一句话就走的观念正是CBer一代不如一代的原因
多少级才能宣传服务器
我也看不明白,我感觉这都跟学JAVA编程一样复杂。
chyx 发表于 2017-9-4 16:56
你是这个意思么?
可以先
#x = 65536
#x /= max
#x *= max
if rand >x run function
if rand <=x run return
不过需要执行多次才可
不过,反正本来也只是伪随机……
嗯嗯嗯嗯嗯嗯嗯嗯嗯嗯嗯
我的目标是成为18级大神。假如你每天签到拿4经验,18级300000/4=75000天, 如果从1岁开始签到,那100年=36500天,你差不多要 活200年保持每天签到(谁知道200年后还有没有签到 这玩意),如果你每天再水4经验,时间减半,但考虑 现实,你不可能再活100年,取50年吧,你就要每天水 16经验,可能你是个勤快的人,每天水32经验,那就 需要25年!!!再如果你是个大水怪,每天水64经验 ,那就只要12.5年!!!还如果你个心急的人,每天水 128经验,你只要6.25年!!!!假如你已经急不可耐 了,每天水256经验,那你碉堡了,只要3.125年!!! 当然,你会觉得3年还是太远了,每天你闲的蛋疼,忙 忙碌碌的水512经验,碉堡了,你只需要1.5625年,只 比1年半多一点!!!什么!!你还不满意,那你觉得 你可能一天水1024经验吗,可能吗!!可能吗!!!据 说回复100字或者一百字以上可以得到11~30经验,那么,按照队形,点击复制吧!!! ...
我的目标是成为18级大神。假如你每天签到拿4经验,18级300000/4=75000天, 如果从1岁开始签到,那100年=36500天,你差不多要 活200年保持每天签到(谁知道200年后还有没有签到 这玩意),如果你每天再水4经验,时间减半,但考虑 现实,你不可能 ...
我的目标是成为18级大神。假如你每天签到拿4经验,18级300000/4=75000天, 如果从1岁开始签到,那100年=36500天,你差不多要 活200年保持每天签到(谁知道200年后还有没有签到 这玩意),如果你每天再水4经验,时间减半,但考虑 现实,你不可能 ...
66666666666666666666666666666
6666666666
66666666666666
天狼星black 发表于 2017-11-18 05:19
看不懂更要学……这种看不懂就丢一句话就走的观念正是CBer一代不如一代的原因 ...
有在学,但不是必须学...还有,我啥时候变成CBer了??
666啊 支持一下
6666666666666
555555555555555555
可以,很强
学习学习了,感谢
不懂  随机是啥东西?
        Mcbbs有你更精彩~
在kill前reset下分数吧……不然scoreboard.dat里面的分数堆成山……
命令方块变成幸运方块233
我的目标是成为18级大神。假如你每天签到拿4经验,18级300000/4=75000天, 如果从1岁开始签到,那100年=36500天,你差不多要 活200年保持每天签到(谁知道200年后还有没有签到 这玩意),如果你每天再水4经验,时间减半,但考虑 现实,你不可能再活100年,取50年吧,你就要每天水 16经验,可能你是个勤快的人,每天水32经验,那就 需要25年!!!再如果你是个大水怪,每天水64经验 ,那就只要12.5年!!!还如果你个心急的人,每天水 128经验,你只要6.25年!!!!假如你已经急不可耐 了,每天水256经验,那你碉堡了,只要3.125年!!! 当然,你会觉得3年还是太远了,每天你闲的蛋疼,忙 忙碌碌的水512经验,碉堡了,你只需要1.5625年,只 比1年半多一点!!!什么!!你还不满意,那你觉得 你可能一天水1024经验吗,可能吗!!可能吗!!!据 说回复100字或者一百字以上可以得到11~30经验,那么,按照队形,点击复制吧!!! ... ... ... ... ... ... ... ...
只学了vb的表示看部太懂
6666666666666666666
6666666666666666666666666666
ruhuasiyu 发表于 2018-5-17 14:51
在kill前reset下分数吧……不然scoreboard.dat里面的分数堆成山……
为啥我这里药水云自然消失会清除对应的分数。。。
不过我的系统一段时间之后也留下不少冗余的分数。。。
我怀疑是药水云跑到没加载的区块之类的事情导致的。。。
chyx 发表于 2018-9-16 12:33
为啥我这里药水云自然消失会清除对应的分数。。。
不过我的系统一段时间之后也留下不少冗余的分数。。。 ...
我应该和你一样……
这个插件在mc中能做什么呢?求解
 
 
 
 
 
 
 
