MC百科社群

标题: 求CrT的random [打印本页]

作者: 13082679913    时间: 2022-7-14 14:22
标题: 求CrT的random
使用random的nextInt()随机下标抽数组元素,数组初始化为空数组,元素是后来一个一个塞进去的,但用下标随机抽取的时候虽然下标随机,数组内每个元素也不一样,但是抽出来的一直是同一个元素,并且如果按照进入数组的顺序排序这个元素应该在中间(奇数个元素),求教是什么问题。如果还有其他的随机数方法望告知。


作者: Leo_Qina    时间: 2022-7-14 19:14
IRandom里面的nextInt()我不是很常用,容我研究一会儿,如果是要抽数组中的随机数的话,我一般会这么写
  1. import crafttweaker.events.IEventManager;
  2. import crafttweaker.event.BlockBreakEvent;

  3. import mods.ctutils.utils.Math;

  4. events.onBlockBreak(function(event as BlockBreakEvent){//事件随意
  5.     var arr as int[] = [1, 2, 3, 4];
  6.     var length as int = arr.length;//4
  7.     var random = Math.floor(Math.random() * length);//抽取0~4的数字
  8.     //Math包里面的random()可以返回0~1的数字,故Math.random() * n可以返回0~n的数字(0取得到,n取不到),Math包里面的floor()是向下取整,防止取到小数
  9.     print(arr[random]);
  10. });
复制代码


_7A_NVG)ZO%4B4WM}U2DQAF.png (64.57 KB, 下载次数: 303)

效果图

效果图

作者: Leo_Qina    时间: 2022-7-14 19:21
再问一句,你的追加数组元素是怎么实现的(没用过
作者: 13082679913    时间: 2022-7-14 23:31
Leo_Qina 发表于 2022-7-14 19:21
再问一句,你的追加数组元素是怎么实现的(没用过

var a=[] as int[];
a+=1;
var b=[] as int[][];
var c=[1,2,3] as int[];
b+=c;
类推
作者: 13082679913    时间: 2022-7-14 23:33
Leo_Qina 发表于 2022-7-14 19:14
IRandom里面的nextInt()我不是很常用,容我研究一会儿,如果是要抽数组中的随机数的话,我一般会这么写

...

谢谢大佬~虽然自己试了一下午是试出来了,是别的问题.
不知道站长玩什么了,在主站没看见帖子还以为没发出去hhh.
作者: QQ酱238152    时间: 2022-7-15 18:13
13082679913 发表于 2022-7-14 23:33
谢谢大佬~虽然自己试了一下午是试出来了,是别的问题.
不知道站长玩什么了,在主站没看见帖子还以为没发出 ...

最近那个好像有点问题
作者: 13082679913    时间: 2022-7-16 08:30
QQ酱238152 发表于 2022-7-15 18:13
最近那个好像有点问题

之前还看见一个MTR比GT6热度高(科技榜第一),Create比GT6U热度高,直接怀疑人生




欢迎光临 MC百科社群 (https://bbs.mcmod.cn/) MC百科|最大的MineCraft中文模组百科