第1个回答 2011-08-03
Dim MyValue
MyValue = Int((3 * Rnd) + 1) ' 生成 1 到 3 之间的随机数值。
Select Case MyValue
Case 1:
....
...
...
End Select
-----------------------------------
或者像游戏抽奖一样,有1等奖2等奖,1等奖的几率比2等奖的几率小,又应该怎么写代码?
若1等奖和2等奖获奖者都是1名,那么概率是一样的。100个人来算,一等奖和二等奖的概率都是1%。
假设 数字为 5的为一等奖。数字为7,8,9 的为二等奖
同理,随机生成数字
Dim MyValue
MyValue = Int((100 * Rnd) + 1) ' 生成 1 到 100 之间的随机数值。
如果数字为5,就是一等奖,数字为7,8,9为2等奖
第2个回答 2011-08-03
你看看满足你的要求吗
Private Sub Command1_Click()
Dim flag As Integer
Randomize
flag = Int(Rnd * 3 + 1)
If flag = 1 Then
Print 1 '这里写你的事件1
ElseIf flag = 2 Then
Print 2 '这里写你的事件2
Else
Print 3 '这里写你的事件3
End If
End Sub
第3个回答 2011-08-03
VB里面事件没办法随机发生。
第4个回答 2011-08-03
rand()可以产生0到1的随机数,你按照区间划分一下满足你的概率就行了。比如随机数为0~0.2是一等奖,0.2~1是二等奖什么的。。。
第5个回答 2011-08-04
用Rnd函数生成随机数就行了,然后通过修改判断是否中奖的代码来控制中奖几率