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
已经运行过。
public class RandomDemo {public static void main(String[] args) {
LotteryTicket lt = new LotteryTicket()
int red[] = lt.getRed()
System.out.print("随机生成的红球为:")
for(int i=0i<6i++){
System.out.print(" "+red[i])
}
System.out.print("\t蓝球为:"+lt.getBlue())
}
}
class LotteryTicket{彩票生成类
private int[] red = new int[6]
public int[] getRed(){//返回红球
int i =0
for(i<6i++){
red[i] = (int)(Math.random()*33) +1
for(int j=0j<ij++){//保证了重复,我个从认为这个彩票好像不能重复吧
if(red[i]==red[j]){
red[i] = (int)(Math.random()*33) +1
j=0
}
}
}
return red
}
public int getBlue(){//返回蓝球
return (int)(Math.random()*16) +1
}
}
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)