⭐✔️
本帖最后由 贰逼 于 2017-7-13 23:54 编辑

文件:
random.rar (573 Bytes, 下载次数: 191)
功能即获取[min,max]中的随机数
想法来自1.12 Custom-Range Random Number Function

演示:


原理:


全部代码:
来自群组: Command Block Logic

1392684709
表示没看懂,随机数在MC有什么用,这个插件是针对什么的?。不管怎么说抢个沙发

⭐✔️
1392684709 发表于 2017-7-13 23:57
表示没看懂,随机数在MC有什么用,这个插件是针对什么的?。不管怎么说抢个沙发 ...

.mcfunction是原版的函数文件

1392684709
贰逼 发表于 2017-7-13 23:54
.mcfunction是原版的函数文件

哦,是因为1.12版本中新增了functions对吧。

炫音界
OAO哇,恐怖如斯,看不懂

chyx
本帖最后由 chyx 于 2017-7-14 04:52 编辑

表示看懂了

就是二进制的每一位数随机是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中是否也可通过类似的方式使随机概率更平均呢?

yeqichangren
支持支持

無名Five
好厉害,顶一下

Leo_Guo
1392684709 发表于 2017-7-13 23:57
表示没看懂,随机数在MC有什么用,这个插件是针对什么的?。不管怎么说抢个沙发 ...

可以制作原版的命令版幸运方块。

小戴子
好好好好好好好好

王念一
感觉销毁随机列没啥必要啊,反正两列互为反码。。。
(用按位或会不会快一点)

yukaiy
这个干嘛用的啊?

chyx
本帖最后由 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当成一把比例尺进行均分再放大的,不知能否说下实验过程,或者能否解释一下为何不能做到均分,感谢。

jinhan64
啊啊啊啊啊啊啊啊啊啊啊

水狼ace
对不起,看不懂。。。。。。

Swer_father
666666666666666666666666666666666666

Moon`
666666666666666666666666

Mega_bed
随机!!!一直想了解啊啊啊qwq

czm233
mark一下,留着以后用到的时候看

灵单
534444444444

hanzhitao200175
表示没看懂,随机数在MC有什么用,这个插件是针对什么的

2985861993
嗯!不错!

BlackCB.
炫音界 发表于 2017-7-14 03:21
OAO哇,恐怖如斯,看不懂

看不懂更要学……这种看不懂就丢一句话就走的观念正是CBer一代不如一代的原因

傲天666
多少级才能宣传服务器

花茶果之城
我也看不明白,我感觉这都跟学JAVA编程一样复杂。

ruhuasiyu
chyx 发表于 2017-9-4 16:56
你是这个意思么?

可以先
#x = 65536
#x /= max
#x *= max
if rand >x run function
if rand <=x run return

不过需要执行多次才可

不过,反正本来也只是伪随机……

3304225512
嗯嗯嗯嗯嗯嗯嗯嗯嗯嗯嗯

3059706039
我的目标是成为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经验,时间减半,但考虑 现实,你不可能 ...

无敌的冷风
66666666666666666666666666666

碍事币
6666666666

hat_C
66666666666666

炫音界
天狼星black 发表于 2017-11-18 05:19
看不懂更要学……这种看不懂就丢一句话就走的观念正是CBer一代不如一代的原因 ...

有在学,但不是必须学...还有,我啥时候变成CBer了??

ali1340653579
666啊 支持一下

任祝明
6666666666666

任祝明
555555555555555555

Sostrange
可以,很强

陆浩铭
学习学习了,感谢

1074409142
不懂  随机是啥东西?

卡尔的爱
        Mcbbs有你更精彩~

ruhuasiyu
在kill前reset下分数吧……不然scoreboard.dat里面的分数堆成山……

kickbot_failed
命令方块变成幸运方块233

Doubi_jie
我的目标是成为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经验,那么,按照队形,点击复制吧!!! ... ... ... ... ... ... ... ...

shiyi925
只学了vb的表示看部太懂

1210064597
6666666666666666666

1210064597
6666666666666666666666666666

chyx
ruhuasiyu 发表于 2018-5-17 14:51
在kill前reset下分数吧……不然scoreboard.dat里面的分数堆成山……

为啥我这里药水云自然消失会清除对应的分数。。。

不过我的系统一段时间之后也留下不少冗余的分数。。。
我怀疑是药水云跑到没加载的区块之类的事情导致的。。。

ruhuasiyu
chyx 发表于 2018-9-16 12:33
为啥我这里药水云自然消失会清除对应的分数。。。

不过我的系统一段时间之后也留下不少冗余的分数。。。 ...

我应该和你一样……

QWQQWQTAT
这个插件在mc中能做什么呢?求解

下一页 最后一页