로또가 조작이라는 설을 유력하게 해주는 번호들이 나오고 있다. 그래서 조작번호 생성기라고 이름을 지었다. 바보같은 if문들이 나오는데, 더 이상 개선하기가 쉽지 않다. 아무튼 중복되는 숫자들을 없애고, 초를 이용해 랜덤함수를 호출하기 때문에, 비교적 다양한 수를 얻게 했다. 그래도 버그는 있을 것이다.
Option Explicit
Dim savnum(1, 6), i, j, d, k As Integer
Private Sub Command1_Click()
For i = 1 To 6
d = Second(Time)
For j = d To 60
' MsgBox ("j는 " & j)
savnum(0, i) = Int((45 - 1 + 1) * Rnd + 1)
' MsgBox ("값은 " & savnum(0, i))
Next j
' 저장 값이 하나 이상이면 비교하기 시작한다.
k = 0
For j = 6 - i To 5
k = k + 1
If i - k > -1 Then
If savnum(0, i) = savnum(0, i - k) Then
i = i - 1
' MsgBox ("숫자가 같습니다. j = " & j)
End If
' MsgBox ("숫자가 다릅니다. j = " & j)
End If
Next j
Next i
n1.Caption = savnum(0, 6)
n2.Caption = savnum(0, 1)
n3.Caption = savnum(0, 2)
n4.Caption = savnum(0, 3)
n5.Caption = savnum(0, 4)
n6.Caption = savnum(0, 5)
End Sub
Private Sub Form_OKClick()
App.End
End Sub
Option Explicit
Dim savnum(1, 6), i, j, d, k As Integer
Private Sub Command1_Click()
For i = 1 To 6
d = Second(Time)
For j = d To 60
' MsgBox ("j는 " & j)
savnum(0, i) = Int((45 - 1 + 1) * Rnd + 1)
' MsgBox ("값은 " & savnum(0, i))
Next j
' 저장 값이 하나 이상이면 비교하기 시작한다.
k = 0
For j = 6 - i To 5
k = k + 1
If i - k > -1 Then
If savnum(0, i) = savnum(0, i - k) Then
i = i - 1
' MsgBox ("숫자가 같습니다. j = " & j)
End If
' MsgBox ("숫자가 다릅니다. j = " & j)
End If
Next j
Next i
n1.Caption = savnum(0, 6)
n2.Caption = savnum(0, 1)
n3.Caption = savnum(0, 2)
n4.Caption = savnum(0, 3)
n5.Caption = savnum(0, 4)
n6.Caption = savnum(0, 5)
End Sub
Private Sub Form_OKClick()
App.End
End Sub
댓글 달기