用VB编写双色球程序,具体要求请看详细。。。

要用VB编程序,众所周知,双色球是随机输出一组双色球号码,先从1到33数字的33个红色球任选6个,再从数字为1到16的16个蓝色球任选1个组成一组开奖号码。
但我想要的程序功能略有不同,红球里面我只想从个位含有2,3,4,7,8,9尾的数字里随机出6个,比如从02,03,04,07,08,09,12,13,14,17,18,19,22,23,24,27,28,29,32,33中随机选6个,篮球也是一样,从16个数字里选择所有含有3,4,5,9尾的数字里随机出1个,这样的程序该怎么用VB实现,急,在线等,答案满意,我会追加100.
附带一点说明,希望程序的界面是摇出的数字一个一个顺序出,这样比较有真实感,而不希望是点击命令按钮7个数字一下就全部显示出来了,我希望就像中福彩现场开奖出球顺序一样。先是红球6个一个一个出,然后最后出篮球数字。谢谢。^-^
邮箱[email protected]

我说的“篮球也是一样,从16个数字里选择所有含有3,4,5,9尾的数字里随机出1个”也是指1到16的所有数字含有这些尾的数字,比如03,04,05,09,13,14,15"共7个,随机出一个

第1个回答  2008-05-06
我自己写过一个。也就是选数啦。红球注意不要重复就行了。用随机函数生成。如果想一个个地出的话得用TIMER。最后排一个序就成了。

你可以用个数组来装你选定的这二十个红球。然后随机下标来选。一样的道理。

你的要求就是从指定的二十个红球中随机六个,从指定的七个蓝球中随机一个。并加上动画效果。原理一样是随机数组下标选数,但结果输出动画实现麻烦。
第2个回答  2008-05-09
建立两个Command1和2
Dim RedBalls, BullBalls
Private Sub Command1_Click()
'Label1.Caption = ""
rarr = GetRndNotRepeat(0, UBound(RedBalls), 6)
barr = GetRndNotRepeat(0, UBound(BullBalls), 1)
For i = 1 To 6
t = Now
Do
DoEvents
Loop While DateDiff("s", t, Now) < 1.5
FillStyle = 0
FillColor = vbRed
Form1.Circle (500 + i * 500, 1000), 200, vbRed
CurrentX = 350 + i * 500
CurrentY = 840
Print Format(RedBalls(rarr(i)), "00")
Next i
t = Now
Do
DoEvents
Loop While DateDiff("s", t, Now) < 2
i = 7
FillStyle = 0
FillColor = vbBlue
Form1.Circle (500 + i * 500, 1000), 200, vbBlue
CurrentX = 350 + i * 500
CurrentY = 840
Print Format(BullBalls(barr(1)), "00")
End Sub
Private Sub Command2_Click()
End
End Sub
Private Sub Form_Load()
RedBalls = Array(2, 3, 4, 7, 8, 9, 12, 13, 14, 17, 18, 19, 22, 23, 24, 27, 28, 29, 32, 33)
BullBalls = Array(3, 4, 5, 9, 13, 14, 15)
'Label1.Caption = ""
Command1.Caption = "开始"
Command2.Caption = "退出"
Form1.FontSize = 15
Form1.FontName = "Arial"
Form1.ForeColor = &HFFFFFF
End Sub
Public Function GetRndNotRepeat(ByVal NumMin As Integer, ByVal NumMax As Integer, ByVal n As Integer)
Dim arr() As Integer
If n > NumMax - NumMin + 1 Then
ReDim arr(0)
arr(0) = 0
Else
ReDim arr(n)
Dim b() As Byte
Dim m As Integer
m = Int((NumMax - NumMin) / 8)
ReDim b(m)
Dim x As Integer, y As Integer
Dim z As Byte
Randomize
arr(0) = 1
For i = 1 To n
Do
x = Int(Rnd * (NumMax - NumMin + 1)) + NumMin
y = x - NumMin
z = 2 ^ (y Mod 8)
y = y \ 8
Loop While b(y) And z
b(y) = b(y) Or z
arr(i) = x
Next i
End If
GetRndNotRepeat = arr
End Function
已经运行过。
第3个回答  2008-05-26
Print Format(RedBalls(rarr(i)), "00")
Next i
t = Now
Do
DoEvents
Loop While DateDiff("s", t, Now) < 2
i = 7
FillStyle = 0
FillColor = vbBlue
Form1.Circle (500 + i * 500, 1000), 200, vbBlue
CurrentX = 350 + i * 500
CurrentY = 840
Print Format(BullBalls(barr(1)), "00")
End Sub
第4个回答  2008-05-05
http://www.morecode.net/soft/html/22307.shtml
双色球小神通(含原代码)本回答被提问者采纳
第5个回答  2008-05-08
发给你了