Private Sub cmdCancel_Click()
Dim i As CommandButton
Num4 = ""
cmdOK.Enabled = False
For Each i In cmdNum
i.Enabled = True
Next
End Sub
Private Sub cmdNum_Click(Index As Integer)
Dim i As CommandButton
cmdNum(Index).Enabled = False
Num4 = Num4 & Index
If Len(Num4) = 4 Then
cmdOK.Enabled = True
For Each i In cmdNum
i.Enabled = False
Next
End If
Label3.Caption = Num4
End Sub
Private Sub cmdOK_Click()
Dim i As Long, j As Long, c As CommandButton
Dim itrp As Long, itrn As Long
itrp = 0
itrn = 0
iCount = iCount + 1
If NumAns = Num4 Then
MsgBox "只用了" & iCount & "次就猜对了,真聪明。单击确定进行下一个数字"
NewData
Else
For i = 1 To 4
If Mid(NumAns, i, 1) = Mid(Num4, i, 1) Then itrp = itrp + 1
For j = 1 To 4
If Mid(NumAns, i, 1) = Mid(Num4, j, 1) Then itrn = itrn + 1
Next
Next
itrn = itrn - itrp
Label1.Caption = itrp & "个数值及位置猜对" & itrn & "个数值猜对但位置不对"
lstOUT.AddItem Num4 & " " & Label1.Caption
lstOUT.ListIndex = lstOUT.ListCount - 1
End If
For Each c In cmdNum
c.Enabled = True
Next
cmdOK.Enabled = False
Num4 = ""
End Sub
Private Sub Form_KeyPress(KeyAscii As Integer)
Select Case KeyAscii
Case Asc("0") To Asc("9")
cmdNum_Click (KeyAscii - Asc("0"))
Case 13
If cmdOK.Enabled = True Then cmdOK_Click
Case 27
If cmdcalcel = True Then cmdCancel_Click
End Select
End Sub
Private Sub Form_Load()
Dim i As CommandButton
For Each i In cmdNum
i.Enabled = False
i.Caption = i.Index
Next
Randomize
End Sub
Private Sub mnuAns_Click()
MsgBox "答案是" & NumAns & ",你猜对了么", vbCritical
End Sub
Private Sub mnuExit_Click()
Unload Me
End Sub
Sub NewData()
Num4 = ""
iCount = 0
lstOUT.Clear
Dim s As String * 10, i As Long, r As Long
s = "2137405869"
For i = 1 To 10
r = Fix(Rnd * 10 - 0.01) + 1
s = Left(s, r - 1) & Right(s, 10 - r) & Mid(s, r, 1)
Next
For i = 1 To 10
r = Fix(Rnd * 10 - 0.01) + 1
s = Right(s, 10 - r) & Mid(s, r, 1) & Left(s, r - 1)
Next
r = Int(Rnd * 7 - 0.01) + 1
NumAns = Mid(s, r, 4)
End Sub
Private Sub mnuStart_Click()
Dim i As CommandButton
NewData
For Each i In cmdNum
i.Enabled = True
Next
mnuAns.Enabled = True
cmdCancel.Enabled = True
End Sub
请快点我急着用
|