📄 frmmain.frm
字号:
VERSION 5.00
Begin VB.Form frmMain
BorderStyle = 1 'Fixed Single
Caption = "猜一猜"
ClientHeight = 3675
ClientLeft = 150
ClientTop = 840
ClientWidth = 9375
KeyPreview = -1 'True
MaxButton = 0 'False
MinButton = 0 'False
ScaleHeight = 3675
ScaleWidth = 9375
StartUpPosition = 3 '窗口缺省
Begin VB.CommandButton cmdCancel
Caption = "取消"
Enabled = 0 'False
Height = 375
Left = 8400
TabIndex = 14
Top = 3000
Width = 735
End
Begin VB.CommandButton cmdOK
Caption = "确定"
Enabled = 0 'False
Height = 375
Left = 6720
TabIndex = 0
Top = 3000
Width = 735
End
Begin VB.ListBox lstOUT
Height = 1680
Left = 240
TabIndex = 13
Top = 1680
Width = 6255
End
Begin VB.Frame frmInfo
Caption = "提示"
Height = 855
Left = 240
TabIndex = 11
Top = 360
Width = 6255
Begin VB.Label Label1
Caption = "0A0B"
Height = 255
Left = 480
TabIndex = 12
Top = 360
Width = 5175
End
End
Begin VB.CommandButton cmdNum
Height = 375
Index = 9
Left = 8400
TabIndex = 10
Top = 1560
Width = 735
End
Begin VB.CommandButton cmdNum
Height = 375
Index = 8
Left = 7560
TabIndex = 9
Top = 1560
Width = 735
End
Begin VB.CommandButton cmdNum
Height = 375
Index = 7
Left = 6720
TabIndex = 8
Top = 1560
Width = 735
End
Begin VB.CommandButton cmdNum
Height = 375
Index = 6
Left = 8400
TabIndex = 7
Top = 2040
Width = 735
End
Begin VB.CommandButton cmdNum
Height = 375
Index = 5
Left = 7560
TabIndex = 6
Top = 2040
Width = 735
End
Begin VB.CommandButton cmdNum
Height = 375
Index = 4
Left = 6720
TabIndex = 5
Top = 2040
Width = 735
End
Begin VB.CommandButton cmdNum
Height = 375
Index = 3
Left = 8400
TabIndex = 4
Top = 2520
Width = 735
End
Begin VB.CommandButton cmdNum
Height = 375
Index = 2
Left = 7560
TabIndex = 3
Top = 2520
Width = 735
End
Begin VB.CommandButton cmdNum
Height = 375
Index = 1
Left = 6720
TabIndex = 2
Top = 2520
Width = 735
End
Begin VB.CommandButton cmdNum
Height = 375
Index = 0
Left = 7560
TabIndex = 1
Top = 3000
Width = 735
End
Begin VB.Label Label3
Alignment = 1 'Right Justify
Height = 255
Left = 8160
TabIndex = 16
Top = 1080
Width = 975
End
Begin VB.Label Label2
Caption = "您输入的数字为"
Height = 255
Left = 6720
TabIndex = 15
Top = 600
Width = 2415
End
Begin VB.Menu mnuGame
Caption = "游戏"
Begin VB.Menu mnuStart
Caption = "开始游戏"
Shortcut = {F2}
End
Begin VB.Menu mnuAns
Caption = "查看答案"
Enabled = 0 'False
Shortcut = {F5}
End
Begin VB.Menu mnuSpl
Caption = "-"
End
Begin VB.Menu mnuExit
Caption = "退出游戏"
End
End
End
Attribute VB_Name = "frmMain"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = False
Attribute VB_PredeclaredId = True
Attribute VB_Exposed = False
Dim iCount As Long, NumAns As String, Num4 As String
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
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -