最新消息:51学网、致力于建站技术交流、编程技术分享、绿色精品软件分享,共同学习

按键精灵-随机获取不重复内容

按键精灵 biao197 6浏览 0评论

一般利用数组功能可以实现万能随机, 也就是不管你想随机取什么内容, 都可以实现, 现在需求多了不重复, 也就意味着每次随机都要针对数组内容进行删除, 按键精灵中删除数组元素的方法是对其赋值为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

转载请注明:51学网 » 按键精灵-随机获取不重复内容

发表我的评论
取消评论
表情

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址