一般利用数组功能可以实现万能随机, 也就是不管你想随机取什么内容, 都可以实现, 现在需求多了不重复, 也就意味着每次随机都要针对数组内容进行删除, 按键精灵中删除数组元素的方法是对其赋值为null即可删除, 但是删除后, 下标不会变化, 所以我们还需要让他的下标移动, 具体方法如下:
//初始化随机种子, 只要调用一次, 但是这里强烈推荐使用紫猫插件的随机功能
Randomize
Dim 随机数组 = {"aaa", "bbb", "ccc", "ddd", "eee"}
//测试效果, 其实这也是一种洗牌方法, 把随机出来的加入到新数组中, 数组元素顺序就打乱了.
TracePrint 取不重复随机(随机数组)
TracePrint 取不重复随机(随机数组)
TracePrint 取不重复随机(随机数组)
TracePrint 取不重复随机(随机数组)
TracePrint 取不重复随机(随机数组)
TracePrint 取不重复随机(随机数组)
//参数为数组, 返回一个随机到的内容
Function 取不重复随机(数组)
If Ubound(数组) = -1 then
TracePrint "数组里没有元素了, 返回null"
Exit Function
End If
Dim 下标 = Random(0, Ubound(数组))
Dim 随机内容 = 数组(下标)
//这是一个关键循环, 要把后面元素覆盖前面元素, 实现移动数组元素
For i = 下标 to Ubound(数组)
数组(i) = 数组(i+1)
Next
取不重复随机 = 随机内容
End Function
//随机获取一个数字函数, 同样强烈推荐使用紫猫插件的随机取数
Function Random(min, max)
Random = Int((max-min+1)*Rnd()+min)
End Function