= 创作分享 =
你问我答
求CrT的random
bviit

求CrT的random

bviit 于 2022-7-14 14:22 ( 1年前 ) [复制链接] [只看楼主] [打印]
497 6
5RF
使用random的nextInt()随机下标抽数组元素,数组初始化为空数组,元素是后来一个一个塞进去的,但用下标随机抽取的时候虽然下标随机,数组内每个元素也不一样,但是抽出来的一直是同一个元素,并且如果按照进入数组的顺序排序这个元素应该在中间(奇数个元素),求教是什么问题。如果还有其他的随机数方法望告知。

发表于 2022-7-14 14:22:16 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式

回复 | 举报

该帖共收到 6 条回复!
Leo_Qina
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, 下载次数: 112)

效果图

效果图
发表于 2022-7-14 19:14:37 | 只看该作者

回复 | 举报

Leo_Qina
再问一句,你的追加数组元素是怎么实现的(没用过
发表于 2022-7-14 19:21:37 | 只看该作者

回复 | 举报

bviit
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;
类推
发表于 2022-7-14 23:31:33 | 只看该作者

回复 | 举报

bviit
Leo_Qina 发表于 2022-7-14 19:14
IRandom里面的nextInt()我不是很常用,容我研究一会儿,如果是要抽数组中的随机数的话,我一般会这么写

...

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

回复 | 举报

卡卡西
13082679913 发表于 2022-7-14 23:33
谢谢大佬~虽然自己试了一下午是试出来了,是别的问题.
不知道站长玩什么了,在主站没看见帖子还以为没发出 ...

最近那个好像有点问题
发表于 2022-7-15 18:13:33 | 只看该作者

回复 | 举报

bviit
QQ酱238152 发表于 2022-7-15 18:13
最近那个好像有点问题

之前还看见一个MTR比GT6热度高(科技榜第一),Create比GT6U热度高,直接怀疑人生
发表于 2022-7-16 08:30:44 | 只看该作者

回复 | 举报

百科目前不允许匿名发帖哦~ 请先 [ 登陆 ][ 注册 ] 吧~

本版积分规则

发新帖
  • 回复
  • 点评
  • 评分

[ MC百科(mcmod.cn) 除另有声明,所有开放公共编辑的内容均使用 BY-NC-SA 3.0 协议 ]

Minecraft百科CC协议
快速回复 返回顶部 返回列表