取随机数

yining 2000-02-22 10:11:00
求助:取随机数(类似于彩票抽奖)的源程序代码。请详细说明或举例。谢谢!
...全文
207 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
chw73 2000-02-24
  • 打赏
  • 举报
回复
一个抽奖程序希望有帮助


Dim NumBalls% 'declare the need variables
Dim Winners%(1 To 6)
Dim Title As String

Sub PredictNumbers()

Dim inum%, n%, Temp%
Randomize
ReDim Balls%(1 To 49)
Dim LoopCheck%, NoSwap%

Timer2.Enabled = False 'disabled the timer

For n = 0 To 5 'reset all labels and back colours
Label2(n).Caption = ""
Shape1(n).BackColor = &HC0C0C0
Next n

For n = 1 To 49: Balls%(n) = n: Next n 'set the 49 balls
For n = 1 To 6
LoopCheck = 0

Do
inum = Int(49 * Rnd + 1)
Loop Until (Balls%(inum) > 0) Or (LoopCheck > 99)
Balls%(inum) = 0
Winners%(n) = inum
Next n

Do
NoSwap = True
For n = 1 To 5
If Winners%(n + 1) < Winners%(n) Then
Temp = Winners%(n + 1)
Winners%(n + 1) = Winners%(n)
Winners%(n) = Temp
NoSwap = False
End If
Next n
Loop Until NoSwap%

Timer2.Enabled = True 'enable the timer
NumBalls = 1

Title = String(30, " ") + "Your chossen lotter numbers for this have been picked GOOD LUCK!" 'scroll this message

End Sub


Private Sub Cancel_Click()

Unload Me 'exit the program

End Sub

Private Sub Form_Load()

Move (Screen.Width - Width) \ 2, (Screen.Height - Height) \ 2 'centre the form on the screen

Title = String(50, " ") + "Lottery Predictor" 'scroll this messageEnd Sub



Private Sub Predict_Click()

Call PredictNumbers 'predict the numbers

End Sub

Private Sub Timer1_Timer()

Title = Mid(Title, 2) & Left(Title, 1)
Lottery.Caption = Title

End Sub



Private Sub timer2_Timer()

Dim BNum%, BCol&

If NumBalls > 6 Then Exit Sub
BNum = Winners%(NumBalls)

If BNum < 10 Then BCol = &HFFFFFF
If BNum >= 10 And BNum < 20 Then BCol = &HFF8080
If BNum >= 20 And BNum < 30 Then BCol = &H8080FF
If BNum >= 30 And BNum < 40 Then BCol = &HFF00&
If BNum >= 40 Then BCol = &HFFFF&

Shape1(NumBalls - 1).BackColor = BCol
Label2(NumBalls - 1).Caption = BNum
NumBalls = NumBalls + 1

End Sub


dongdong 2000-02-23
  • 打赏
  • 举报
回复
Form_Load 中写:
Randomize
必须否则,每次运行产生的随机数顺序都相同。然后,照ACTIVE 说的取界于MAX或MIN 之间的数字,如:
INT(9-0+1)*RND+0)可以取到0到9之间的随机数

active 2000-02-23
  • 打赏
  • 举报
回复
使用RND和Randomize 函数
Randomize 初始化随机数种子
然后用下面的方式生成一个在Max和Min之间的随机整数
Int((Max- Min+ 1) * Rnd + Min)

7,759

社区成员

发帖
与我相关
我的任务
社区描述
VB 基础类
社区管理员
  • VB基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧