www.pudn.com > Winmine.rar > Form1.frm
VERSION 5.00
Object = "{6B7E6392-850A-101B-AFC0-4210102A8DA7}#1.3#0"; "COMCTL32.OCX"
Begin VB.Form Form1
BackColor = &H80000004&
BorderStyle = 1 'Fixed Single
Caption = "扫雷"
ClientHeight = 5490
ClientLeft = 2010
ClientTop = 1710
ClientWidth = 7710
Icon = "Form1.frx":0000
KeyPreview = -1 'True
LinkTopic = "Form1"
MaxButton = 0 'False
ScaleHeight = 5490
ScaleWidth = 7710
Begin VB.PictureBox Picture2
Appearance = 0 'Flat
AutoRedraw = -1 'True
AutoSize = -1 'True
BackColor = &H80000001&
BorderStyle = 0 'None
ForeColor = &H80000008&
Height = 375
Left = 3600
ScaleHeight = 375
ScaleWidth = 615
TabIndex = 1
Top = 240
Width = 615
End
Begin VB.PictureBox Picture1
Appearance = 0 'Flat
AutoRedraw = -1 'True
BackColor = &H80000000&
BorderStyle = 0 'None
ForeColor = &H80000008&
Height = 5130
Left = 0
ScaleHeight = 5130
ScaleWidth = 8640
TabIndex = 0
Top = 0
Width = 8640
Begin VB.Timer Timer3
Enabled = 0 'False
Interval = 50
Left = 4920
Top = 4560
End
Begin VB.Frame Frame1
BorderStyle = 0 'None
Height = 1935
Left = -720
TabIndex = 3
Top = 720
Width = 2895
Begin VB.Label Label_stop_game
AutoSize = -1 'True
Caption = "暂停..."
BeginProperty Font
Name = "宋体"
Size = 30
Charset = 134
Weight = 400
Underline = 0 'False
Italic = 0 'False
Strikethrough = 0 'False
EndProperty
ForeColor = &H00404040&
Height = 615
Left = 1800
TabIndex = 4
Top = 600
Width = 1875
End
End
Begin VB.Timer Timer2
Interval = 1
Left = 3600
Top = 4560
End
Begin VB.Timer Timer1
Interval = 1000
Left = 2520
Top = 1800
End
Begin VB.Shape SBox
BorderStyle = 5 'Dash-Dot-Dot
BorderWidth = 2
Height = 375
Left = 5640
Top = 3840
Width = 375
End
Begin ComctlLib.ImageList ImageList2
Left = 1440
Top = 4080
_ExtentX = 1005
_ExtentY = 1005
BackColor = -2147483643
ImageWidth = 26
ImageHeight = 26
MaskColor = 12632256
_Version = 327682
BeginProperty Images {0713E8C2-850A-101B-AFC0-4210102A8DA7}
NumListImages = 39
BeginProperty ListImage1 {0713E8C3-850A-101B-AFC0-4210102A8DA7}
Picture = "Form1.frx":030A
Key = "bq0"
EndProperty
BeginProperty ListImage2 {0713E8C3-850A-101B-AFC0-4210102A8DA7}
Picture = "Form1.frx":0B7C
Key = "bq1"
EndProperty
BeginProperty ListImage3 {0713E8C3-850A-101B-AFC0-4210102A8DA7}
Picture = "Form1.frx":13EE
Key = "bq2"
EndProperty
BeginProperty ListImage4 {0713E8C3-850A-101B-AFC0-4210102A8DA7}
Picture = "Form1.frx":1C60
Key = "bq3"
EndProperty
BeginProperty ListImage5 {0713E8C3-850A-101B-AFC0-4210102A8DA7}
Picture = "Form1.frx":24D2
Key = "bq4"
EndProperty
BeginProperty ListImage6 {0713E8C3-850A-101B-AFC0-4210102A8DA7}
Picture = "Form1.frx":2D44
Key = "bj1"
EndProperty
BeginProperty ListImage7 {0713E8C3-850A-101B-AFC0-4210102A8DA7}
Picture = "Form1.frx":3096
Key = "bj2"
EndProperty
BeginProperty ListImage8 {0713E8C3-850A-101B-AFC0-4210102A8DA7}
Picture = "Form1.frx":33E8
Key = "bj3"
EndProperty
BeginProperty ListImage9 {0713E8C3-850A-101B-AFC0-4210102A8DA7}
Picture = "Form1.frx":373A
Key = "bj4"
EndProperty
BeginProperty ListImage10 {0713E8C3-850A-101B-AFC0-4210102A8DA7}
Picture = "Form1.frx":3A8C
Key = "bj5"
EndProperty
BeginProperty ListImage11 {0713E8C3-850A-101B-AFC0-4210102A8DA7}
Picture = "Form1.frx":3DDE
Key = "bj6"
EndProperty
BeginProperty ListImage12 {0713E8C3-850A-101B-AFC0-4210102A8DA7}
Picture = "Form1.frx":4130
Key = "bj7"
EndProperty
BeginProperty ListImage13 {0713E8C3-850A-101B-AFC0-4210102A8DA7}
Picture = "Form1.frx":4482
Key = "bj8"
EndProperty
BeginProperty ListImage14 {0713E8C3-850A-101B-AFC0-4210102A8DA7}
Picture = "Form1.frx":47D4
Key = "bjc"
EndProperty
BeginProperty ListImage15 {0713E8C3-850A-101B-AFC0-4210102A8DA7}
Picture = "Form1.frx":4B26
Key = "bjl"
EndProperty
BeginProperty ListImage16 {0713E8C3-850A-101B-AFC0-4210102A8DA7}
Picture = "Form1.frx":4E78
Key = "fkbj"
EndProperty
BeginProperty ListImage17 {0713E8C3-850A-101B-AFC0-4210102A8DA7}
Picture = "Form1.frx":51CA
Key = "fk"
EndProperty
BeginProperty ListImage18 {0713E8C3-850A-101B-AFC0-4210102A8DA7}
Picture = "Form1.frx":551C
Key = "bjdl"
EndProperty
BeginProperty ListImage19 {0713E8C3-850A-101B-AFC0-4210102A8DA7}
Picture = "Form1.frx":586E
Key = "bjqi"
EndProperty
BeginProperty ListImage20 {0713E8C3-850A-101B-AFC0-4210102A8DA7}
Picture = "Form1.frx":5BC0
Key = "sz0"
EndProperty
BeginProperty ListImage21 {0713E8C3-850A-101B-AFC0-4210102A8DA7}
Picture = "Form1.frx":5F06
Key = "s"
EndProperty
BeginProperty ListImage22 {0713E8C3-850A-101B-AFC0-4210102A8DA7}
Picture = "Form1.frx":62D8
Key = "sz1"
EndProperty
BeginProperty ListImage23 {0713E8C3-850A-101B-AFC0-4210102A8DA7}
Picture = "Form1.frx":661E
Key = "sz2"
EndProperty
BeginProperty ListImage24 {0713E8C3-850A-101B-AFC0-4210102A8DA7}
Picture = "Form1.frx":6964
Key = "sz3"
EndProperty
BeginProperty ListImage25 {0713E8C3-850A-101B-AFC0-4210102A8DA7}
Picture = "Form1.frx":6CAA
Key = "sz4"
EndProperty
BeginProperty ListImage26 {0713E8C3-850A-101B-AFC0-4210102A8DA7}
Picture = "Form1.frx":6FF0
Key = "sz5"
EndProperty
BeginProperty ListImage27 {0713E8C3-850A-101B-AFC0-4210102A8DA7}
Picture = "Form1.frx":7336
Key = "sz6"
EndProperty
BeginProperty ListImage28 {0713E8C3-850A-101B-AFC0-4210102A8DA7}
Picture = "Form1.frx":767C
Key = "sz7"
EndProperty
BeginProperty ListImage29 {0713E8C3-850A-101B-AFC0-4210102A8DA7}
Picture = "Form1.frx":79C2
Key = "sz8"
EndProperty
BeginProperty ListImage30 {0713E8C3-850A-101B-AFC0-4210102A8DA7}
Picture = "Form1.frx":7D08
Key = "sz9"
EndProperty
BeginProperty ListImage31 {0713E8C3-850A-101B-AFC0-4210102A8DA7}
Picture = "Form1.frx":804E
Key = "sz-"
EndProperty
BeginProperty ListImage32 {0713E8C3-850A-101B-AFC0-4210102A8DA7}
Picture = "Form1.frx":8394
Key = "bjwh"
EndProperty
BeginProperty ListImage33 {0713E8C3-850A-101B-AFC0-4210102A8DA7}
Picture = "Form1.frx":86E6
Key = "x"
EndProperty
BeginProperty ListImage34 {0713E8C3-850A-101B-AFC0-4210102A8DA7}
Picture = "Form1.frx":8814
Key = "y"
EndProperty
BeginProperty ListImage35 {0713E8C3-850A-101B-AFC0-4210102A8DA7}
Picture = "Form1.frx":891A
Key = "yx"
EndProperty
BeginProperty ListImage36 {0713E8C3-850A-101B-AFC0-4210102A8DA7}
Picture = "Form1.frx":8AF8
Key = "ys"
EndProperty
BeginProperty ListImage37 {0713E8C3-850A-101B-AFC0-4210102A8DA7}
Picture = "Form1.frx":B1CA
Key = "z"
EndProperty
BeginProperty ListImage38 {0713E8C3-850A-101B-AFC0-4210102A8DA7}
Picture = "Form1.frx":B2F4
Key = "zx"
EndProperty
BeginProperty ListImage39 {0713E8C3-850A-101B-AFC0-4210102A8DA7}
Picture = "Form1.frx":B4D2
Key = "zs"
EndProperty
EndProperty
End
Begin VB.Label Label1
AutoSize = -1 'True
Caption = "Label1"
Height = 180
Left = 0
TabIndex = 2
Top = 0
Visible = 0 'False
Width = 540
End
Begin ComctlLib.ImageList ImageList1
Left = 2520
Top = 3360
_ExtentX = 1005
_ExtentY = 1005
BackColor = -2147483643
ImageWidth = 26
ImageHeight = 26
MaskColor = 32896
UseMaskColor = 0 'False
_Version = 327682
BeginProperty Images {0713E8C2-850A-101B-AFC0-4210102A8DA7}
NumListImages = 39
BeginProperty ListImage1 {0713E8C3-850A-101B-AFC0-4210102A8DA7}
Picture = "Form1.frx":DAC4
Key = "bq1"
Object.Tag = "lp1"
EndProperty
BeginProperty ListImage2 {0713E8C3-850A-101B-AFC0-4210102A8DA7}
Picture = "Form1.frx":E336
Key = "s"
EndProperty
BeginProperty ListImage3 {0713E8C3-850A-101B-AFC0-4210102A8DA7}
Picture = "Form1.frx":E628
Key = "x"
EndProperty
BeginProperty ListImage4 {0713E8C3-850A-101B-AFC0-4210102A8DA7}
Picture = "Form1.frx":E84A
Key = "z"
EndProperty
BeginProperty ListImage5 {0713E8C3-850A-101B-AFC0-4210102A8DA7}
Picture = "Form1.frx":E92C
Key = "ys"
EndProperty
BeginProperty ListImage6 {0713E8C3-850A-101B-AFC0-4210102A8DA7}
Picture = "Form1.frx":110DE
Key = "yx"
EndProperty
BeginProperty ListImage7 {0713E8C3-850A-101B-AFC0-4210102A8DA7}
Picture = "Form1.frx":11544
Key = "y"
EndProperty
BeginProperty ListImage8 {0713E8C3-850A-101B-AFC0-4210102A8DA7}
Picture = "Form1.frx":11626
Key = "zs"
EndProperty
BeginProperty ListImage9 {0713E8C3-850A-101B-AFC0-4210102A8DA7}
Picture = "Form1.frx":13C18
Key = "zx"
EndProperty
BeginProperty ListImage10 {0713E8C3-850A-101B-AFC0-4210102A8DA7}
Picture = "Form1.frx":140F2
Key = "fkbj"
EndProperty
BeginProperty ListImage11 {0713E8C3-850A-101B-AFC0-4210102A8DA7}
Picture = "Form1.frx":14444
Key = "fk"
EndProperty
BeginProperty ListImage12 {0713E8C3-850A-101B-AFC0-4210102A8DA7}
Picture = "Form1.frx":14556
Key = "bq0"
EndProperty
BeginProperty ListImage13 {0713E8C3-850A-101B-AFC0-4210102A8DA7}
Picture = "Form1.frx":14DC8
Key = "bq2"
Object.Tag = "lp2"
EndProperty
BeginProperty ListImage14 {0713E8C3-850A-101B-AFC0-4210102A8DA7}
Picture = "Form1.frx":1563A
Key = "bq3"
Object.Tag = "lp3"
EndProperty
BeginProperty ListImage15 {0713E8C3-850A-101B-AFC0-4210102A8DA7}
Picture = "Form1.frx":15EAC
Key = "bq4"
Object.Tag = "lp4"
EndProperty
BeginProperty ListImage16 {0713E8C3-850A-101B-AFC0-4210102A8DA7}
Picture = "Form1.frx":1671E
Key = "bj1"
Object.Tag = "bj1"
EndProperty
BeginProperty ListImage17 {0713E8C3-850A-101B-AFC0-4210102A8DA7}
Picture = "Form1.frx":16A70
Key = "bj2"
Object.Tag = "bj2"
EndProperty
BeginProperty ListImage18 {0713E8C3-850A-101B-AFC0-4210102A8DA7}
Picture = "Form1.frx":16DC2
Key = "bj3"
Object.Tag = "bj3"
EndProperty
BeginProperty ListImage19 {0713E8C3-850A-101B-AFC0-4210102A8DA7}
Picture = "Form1.frx":17114
Key = "bj4"
Object.Tag = "bj4"
EndProperty
BeginProperty ListImage20 {0713E8C3-850A-101B-AFC0-4210102A8DA7}
Picture = "Form1.frx":17466
Key = "bj5"
Object.Tag = "bj5"
EndProperty
BeginProperty ListImage21 {0713E8C3-850A-101B-AFC0-4210102A8DA7}
Picture = "Form1.frx":177B8
Key = "bj6"
Object.Tag = "bj6"
EndProperty
BeginProperty ListImage22 {0713E8C3-850A-101B-AFC0-4210102A8DA7}
Picture = "Form1.frx":17B0A
Key = "bj7"
Object.Tag = "bj7"
EndProperty
BeginProperty ListImage23 {0713E8C3-850A-101B-AFC0-4210102A8DA7}
Picture = "Form1.frx":17E5C
Key = "bj8"
Object.Tag = "bj8"
EndProperty
BeginProperty ListImage24 {0713E8C3-850A-101B-AFC0-4210102A8DA7}
Picture = "Form1.frx":181AE
Key = "bjc"
Object.Tag = "bjc"
EndProperty
BeginProperty ListImage25 {0713E8C3-850A-101B-AFC0-4210102A8DA7}
Picture = "Form1.frx":18500
Key = "bjl"
Object.Tag = "bjl"
EndProperty
BeginProperty ListImage26 {0713E8C3-850A-101B-AFC0-4210102A8DA7}
Picture = "Form1.frx":18852
Key = "bjdl"
Object.Tag = "bjdl"
EndProperty
BeginProperty ListImage27 {0713E8C3-850A-101B-AFC0-4210102A8DA7}
Picture = "Form1.frx":18BA4
Key = "bjqi"
Object.Tag = "bjqi"
EndProperty
BeginProperty ListImage28 {0713E8C3-850A-101B-AFC0-4210102A8DA7}
Picture = "Form1.frx":18EF6
Key = "sz0"
Object.Tag = "sz0"
EndProperty
BeginProperty ListImage29 {0713E8C3-850A-101B-AFC0-4210102A8DA7}
Picture = "Form1.frx":1923C
Key = "sz1"
Object.Tag = "sz1"
EndProperty
BeginProperty ListImage30 {0713E8C3-850A-101B-AFC0-4210102A8DA7}
Picture = "Form1.frx":19582
Key = "sz2"
Object.Tag = "sz2"
EndProperty
BeginProperty ListImage31 {0713E8C3-850A-101B-AFC0-4210102A8DA7}
Picture = "Form1.frx":198C8
Key = "sz3"
Object.Tag = "sz3"
EndProperty
BeginProperty ListImage32 {0713E8C3-850A-101B-AFC0-4210102A8DA7}
Picture = "Form1.frx":19C0E
Key = "sz4"
EndProperty
BeginProperty ListImage33 {0713E8C3-850A-101B-AFC0-4210102A8DA7}
Picture = "Form1.frx":19F54
Key = "sz5"
EndProperty
BeginProperty ListImage34 {0713E8C3-850A-101B-AFC0-4210102A8DA7}
Picture = "Form1.frx":1A29A
Key = "sz6"
EndProperty
BeginProperty ListImage35 {0713E8C3-850A-101B-AFC0-4210102A8DA7}
Picture = "Form1.frx":1A5E0
Key = "sz7"
EndProperty
BeginProperty ListImage36 {0713E8C3-850A-101B-AFC0-4210102A8DA7}
Picture = "Form1.frx":1A926
Key = "sz8"
EndProperty
BeginProperty ListImage37 {0713E8C3-850A-101B-AFC0-4210102A8DA7}
Picture = "Form1.frx":1AC6C
Key = "sz9"
EndProperty
BeginProperty ListImage38 {0713E8C3-850A-101B-AFC0-4210102A8DA7}
Picture = "Form1.frx":1AFB2
Key = "bjwh"
EndProperty
BeginProperty ListImage39 {0713E8C3-850A-101B-AFC0-4210102A8DA7}
Picture = "Form1.frx":1B304
Key = "sz-"
EndProperty
EndProperty
End
End
Begin VB.Menu yx
Caption = "游戏(&G)"
Begin VB.Menu kj
Caption = "开局(&N)"
Shortcut = {F2}
End
Begin VB.Menu stop_game
Caption = "暂停(&P)"
Checked = -1 'True
Shortcut = {F3}
End
Begin VB.Menu l1
Caption = "-"
End
Begin VB.Menu cj
Caption = "初级(&B)"
Checked = -1 'True
End
Begin VB.Menu zj
Caption = "中级(&I)"
Checked = -1 'True
End
Begin VB.Menu gj
Caption = "高级(&E)"
Checked = -1 'True
End
Begin VB.Menu zdy
Caption = "自定义(C)..."
Checked = -1 'True
End
Begin VB.Menu l6
Caption = "-"
End
Begin VB.Menu K_dx
Caption = "方块大小(&S)..."
End
Begin VB.Menu l2
Caption = "-"
End
Begin VB.Menu bj
Caption = "标记(?)(&M)"
Checked = -1 'True
End
Begin VB.Menu ys
Caption = "颜色(&L)"
Checked = -1 'True
End
Begin VB.Menu dhxg
Caption = "动画(D)"
Checked = -1 'True
End
Begin VB.Menu l7
Caption = "-"
End
Begin VB.Menu AutoGame
Caption = "开始演示(&Y)"
Shortcut = {F4}
End
Begin VB.Menu yssd
Caption = "演示速度(&V)"
Begin VB.Menu sd
Caption = "1"
Checked = -1 'True
Index = 0
End
End
Begin VB.Menu l3
Caption = "-"
End
Begin VB.Menu slyxb
Caption = "扫雷英雄榜(&T)..."
End
Begin VB.Menu l5
Caption = "-"
End
Begin VB.Menu tc
Caption = "退出(&X)"
End
End
Begin VB.Menu bz
Caption = "帮助(&H)"
Begin VB.Menu bzzt
Caption = "帮助主题(&H)"
End
Begin VB.Menu l4
Caption = "-"
End
Begin VB.Menu gysl
Caption = "关于扫雷(&A)"
End
End
End
Attribute VB_Name = "Form1"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = False
Attribute VB_PredeclaredId = True
Attribute VB_Exposed = False
Dim Xn As Long, Yn As Long, kL As Long, x0 As Long, y0 As Long
Dim szColor()
Dim mouseX As Long, mouseY As Long
Dim Tim As Long
Dim Fw(8, 2) As Long
Dim dtx As Long, dty As Long
Dim Admin() As Long, Admin2() As Long
Dim Zt() As Long
Dim SYSzt As Long '0:未开始 1:开始记时 2:结束记时 3:过关
Dim Wbls As Long '未标雷数
Dim Dlzs As Long '地雷总数
Dim Wkzs As Long '挖开总数
Dim Jb As Long '级别 1\2\3\4
Dim ButCount As Long
Dim TempImageList As ImageList
Dim ysq
Dim L_fx As Integer, L_fy As Integer
Dim BoxN_x As Integer, BoxN_y As Integer
Dim MouseDown_1_2 As Integer
Dim Auto_Game As Boolean
Dim Auto_sd As Long
Dim SaveStr As String
'
Private Sub AutoGame_Click()
Dim ts As String
ts = " <---按 F4 中止自动演示--->"
If stop_game.Checked = True Then
Call stop_game_Click
End If
If Auto_Game = False Then
Auto_Game = True
AutoGame.Caption = "停止演示(&Y)"
Me.Caption = Me.Caption & ts
Picture1.Enabled = False
Picture2.Enabled = False
Call zd
Else
Auto_Game = False
AutoGame.Caption = "开始演示(&Y)"
Me.Caption = Mid(Me.Caption, 1, Len(Me.Caption) - Len(ts))
Picture1.Enabled = True
Picture2.Enabled = True
End If
End Sub
Private Sub bj_Click()
If bj.Checked = True Then
bj.Checked = False
Jl.Mark = 0
Else
bj.Checked = True
Jl.Mark = 1
End If
End Sub
Private Sub bzzt_Click()
'ShellAbout hwnd, "扫雷", "作者:郭喜聪 于2004年11月完成" & vbCrLf & "E-Mail:gxc01_xc@sina.com.cn", Me.Icon
SendKeys "{F1}"
End Sub
Private Sub cj_Click()
If Jb <> 1 Then
Xn = 9
Yn = 9
Dlzs = 10
If Main_kL < 210 Then Main_kL = 210
Call csh
cj.Checked = True
zj.Checked = False
gj.Checked = False
zdy.Checked = False
Jb = 1
End If
End Sub
Private Sub dhxg_Click()
If dhxg.Checked = True Then dhxg.Checked = False Else dhxg.Checked = True
End Sub
Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer)
If KeyCode = 123 And Shift = 2 Then
If Label1.Visible = False Then
Label1.Visible = True
Else
Label1.Visible = False
End If
End If
If KeyCode = 27 And ButCount = 3 And SYSzt = 1 Then
If Timer1.Enabled = True Then
Timer1.Enabled = False
Else
Timer1.Enabled = True
End If
End If
tx = x0 + (BoxN_x - 1) * kL
ty = y0 + (BoxN_y - 1) * kL
If SBox.Visible = True And Timer2.Enabled = False Then
Select Case KeyCode
Case 27
SBox.Visible = False
Case 37
If BoxN_x > 1 Then
BoxN_x = BoxN_x - 1
ElseIf BoxN_x = 1 Then
BoxN_x = Xn
End If
Case 38
If BoxN_y > 1 Then
BoxN_y = BoxN_y - 1
ElseIf BoxN_y = 1 Then
BoxN_y = Yn
End If
Case 39
If BoxN_x < Xn Then
BoxN_x = BoxN_x + 1
ElseIf BoxN_x = Xn Then
BoxN_x = 1
End If
Case 40
If BoxN_y < Yn Then
BoxN_y = BoxN_y + 1
ElseIf BoxN_y = Yn Then
BoxN_y = 1
End If
Case 13
If SYSzt <= 1 Then
If Zt(BoxN_x, BoxN_y) = 3 Then
MouseDown_1_2 = 1
End If
Call Picture1_MouseDown(1, -1, tx + 1, ty + 1)
Call Picture1_MouseUp(1, 0, tx + 1, ty + 1)
MouseDown_1_2 = 0
End If
Case 32
If SYSzt <= 1 Then
Call Picture1_MouseDown(2, -1, tx + 1, ty + 1)
Call Picture1_MouseUp(2, 0, tx + 1, ty + 1)
End If
End Select
End If
Select Case KeyCode
Case 37, 38, 39, 40
If SBox.Visible = False Then SBox.Visible = True
tx = x0 + (BoxN_x - 1) * kL
ty = y0 + (BoxN_y - 1) * kL
SBox.Move tx, ty
End Select
'Me.Caption = KeyCode
End Sub
Private Sub Form_Load()
App.HelpFile = App.Path & "\winmine.chm"
Main_kL = 240
x0 = 180
y0 = 840
cj.Checked = False
zj.Checked = False
gj.Checked = False
zdy.Checked = False
Picture1.Move 0, 0
SBox.Visible = False
Timer2.Enabled = False
AppProfileName = App.Path & "\winmine.ini"
Jl.Difficulty = GetIniN("扫雷", "Difficulty", 0)
Jl.Hei = GetIniN("扫雷", "Height", 9)
Jl.Wid = GetIniN("扫雷", "Width", 9)
Jl.Mines = GetIniN("扫雷", "Mines", 10)
Jl.Mark = GetIniN("扫雷", "Mark", 1)
Jl.Color = GetIniN("扫雷", "Color", 1)
Jl.Xpos = GetIniN("扫雷", "Xpos", 0)
Jl.Ypos = GetIniN("扫雷", "Ypos", 0)
Jl.Time1 = GetIniN("扫雷", "Time1", 999)
Jl.Time2 = GetIniN("扫雷", "Time2", 999)
Jl.Time3 = GetIniN("扫雷", "Time3", 999)
Jl.Name1 = GetIniS("扫雷", "Name1", "匿名")
Jl.Name2 = GetIniS("扫雷", "Name2", "匿名")
Jl.Name3 = GetIniS("扫雷", "Name3", "匿名")
Jl.K_dx = GetIniN("扫雷", "K_dx", 240)
Jl.dhxg = GetIniN("扫雷", "Dhxg", 0)
If Jl.dhxg = 1 Then dhxg.Checked = True Else dhxg.Checked = False
Main_kL = Jl.K_dx
If Jl.Color = 0 Then
Set TempImageList = ImageList2
ys.Checked = False
Else
Set TempImageList = ImageList1
ys.Checked = True
End If
Jb = Jl.Difficulty + 1
Select Case Jb
Case 1
Xn = 9
Yn = 9
Dlzs = 10
cj.Checked = True
Case 2
Xn = 16
Yn = 16
Dlzs = 40
zj.Checked = True
Case 3
Xn = 30
Yn = 16
Dlzs = 99
gj.Checked = True
Case 4
If Jl.Wid < 9 Or Jl.Hei < 9 Or Jl.Mines < 10 Then
Xn = 9
Yn = 9
Dlzs = 10
Else
Xn = Jl.Wid
Yn = Jl.Hei
Dlzs = Jl.Mines
End If
zdy.Checked = True
End Select
mouseX = 0
mouseY = 0
If Jl.Xpos > 0 And Jl.Ypos > 0 Then
Me.Move Jl.Xpos, Jl.Ypos
Else
Me.Move (Screen.Width - Me.Width) / 2, (Screen.Height - Me.Height) / 2
End If
bj.Checked = Jl.Mark
'1 2 3
'8 4
'7 6 5
Fw(0, 0) = 0
Fw(0, 1) = 0
Fw(1, 0) = -1
Fw(1, 1) = -1
Fw(2, 0) = 0
Fw(2, 1) = -1
Fw(3, 0) = 1
Fw(3, 1) = -1
Fw(4, 0) = 1
Fw(4, 1) = 0
Fw(5, 0) = 1
Fw(5, 1) = 1
Fw(6, 0) = 0
Fw(6, 1) = 1
Fw(7, 0) = -1
Fw(7, 1) = 1
Fw(8, 0) = -1
Fw(8, 1) = 0
dtx = Screen.TwipsPerPixelX
dty = Screen.TwipsPerPixelY
SYSzt = -1
Auto_Game = False
For i = 0 To 9
If i > 0 Then Load sd(i)
sd(i).Visible = True
sd(i).Caption = "速度:&" & i
sd(i).Checked = False
Next i
Call sd_Click(9)
''''''''''''记录过程'''''''''''''''''
Form6.Show
''''''''''''记录过程'''''''''''''''''
Call csh
End Sub
Sub hjm() '面界面
Picture1.Cls
Picture1.Width = Me.Width
Picture1.Height = Me.Height
Picture1.PaintPicture TempImageList.ListImages.Item("zs").Picture, 0, 0
Picture1.PaintPicture TempImageList.ListImages.Item("s").Picture, 860, 0, Xn * kL - 860
Picture1.PaintPicture TempImageList.ListImages.Item("ys").Picture, Xn * kL - 530, 0
Picture1.PaintPicture TempImageList.ListImages.Item("y").Picture, Xn * kL + x0, y0, , Yn * kL
Picture1.PaintPicture TempImageList.ListImages.Item("yx").Picture, Xn * kL + x0, Yn * kL + y0
Picture1.PaintPicture TempImageList.ListImages.Item("x").Picture, x0, y0 + Yn * kL, Xn * kL
Picture1.PaintPicture TempImageList.ListImages.Item("zx").Picture, 0, y0 + Yn * kL
Picture1.PaintPicture TempImageList.ListImages.Item("z").Picture, 0, y0, , Yn * kL
End Sub
Sub csh() '初始化
Dim i As Long, j As Long
Dim tx As Long, ty As Long, tx2 As Long, ty2 As Long, txn, tyn
kL = Main_kL
Me.Width = Xn * kL + 450
Me.Height = Yn * kL + 1900
Call bq(0)
Picture2.Left = Me.Width / 2 - Picture2.Width / 2 - 80
ReDim Admin(Xn, Yn) '0-8:雷数 9:地雷
ReDim Admin2(Xn, Yn)
ReDim Zt(Xn, Yn) '0:未点击 1:旗帜 2:问号 3:挖开
Call hjm
'Picture1.Line (X0, Y0)-(X0 + Xn * kL, Y0 + Yn * kL), &HC6C3C6, BF
For i = 1 To Xn
For j = 1 To Yn
'If Zt(i, j) <> 0 Or SYSzt = -1 Then
Call hk(i, j)
'DoEvents
Zt(i, j) = 0
'End If
'Admin(i, j) = 0
Next j
Next i
Call szbj
'Picture1.PaintPicture TempImageList.ListImages.Item("qbfk").Picture, X0, Y0
'For i = 0 To 9
' Call qk(i + 1, 3, i)
'Next i
'Call hbj(1, 1, 1)
'Call hbj(1, 2, 2)
Wbls = Dlzs
Call xssz(Wbls, 0)
Call xssz(0, 1)
Tim = 0
Wkzs = 0
stop_game.Checked = False
Frame1.Visible = False
Timer1.Enabled = False
SYSzt = 0
Picture1.Enabled = True
ButCount = 0
L_fx = 1
L_fy = 1
SBox.Width = kL
SBox.Height = kL
BoxN_x = 1
BoxN_y = 1
SBox.Move x0, y0
SaveStr = ""
''''''''''''记录过程'''''''''''''''''
Form6.Text1.Text = ""
''''''''''''记录过程'''''''''''''''''
End Sub
Sub szbj() '数字布局
Dim i, j
Randomize
For i = 1 To Dlzs
txn = Int(Rnd(Timer) * Xn) + 1
tyn = Int(Rnd(Timer) * Yn) + 1
If Admin(txn, tyn) <> 9 Then
Admin(txn, tyn) = 9
Admin2(txn, tyn) = 9
Else
i = i - 1
End If
Next i
For i = 1 To Xn
For j = 1 To Yn
If Admin(i, j) <> 9 Then Admin(i, j) = zwls(i, j): Admin2(i, j) = zwls(i, j)
Next j
Next i
End Sub
Function zwls(i, j) '周围雷数
Dim k, ls, tx, ty
ls = 0
For k = 1 To 8
tx = i + Fw(k, 0)
ty = j + Fw(k, 1)
If tx >= 1 And tx <= Xn And ty >= 1 And ty <= Yn Then
If Admin(tx, ty) = 9 Then
ls = ls + 1
End If
End If
Next k
zwls = ls
End Function
Sub hk(txn, tyn) '画方块
Dim tx As Long, ty As Long, tx2 As Long, ty2 As Long
tx = x0 + (txn - 1) * kL
ty = y0 + (tyn - 1) * kL
tx2 = tx + kL - 20
ty2 = ty + kL - 20
'Picture1.Line (tx, ty)-(tx2 - dtx, ty), &H80000009, B
'Picture1.Line (tx + dtx, ty + dty)-(tx2 - 2 * dtx, ty + dty), &H80000009, B
'Picture1.Line (tx, ty)-(tx, ty2 - dty), &H80000009, B
'Picture1.Line (tx + dtx, ty + dty)-(tx + dtx, ty2 - 2 * dty), &H80000009, B
'Picture1.Line (tx2, ty + dty)-(tx2, ty2), &H8000000C, B
'Picture1.Line (tx2 - dtx, ty + 2 * dty)-(tx2 - dtx, ty2 - dty), &H8000000C, B
'Picture1.Line (tx + dtx, ty2)-(tx2, ty2), &H8000000C, B
'Picture1.Line (tx + 2 * dtx, ty2 - dty)-(tx2 - dtx, ty2 - dty), &H8000000C, B
'Picture1.Line (tx + 2 * dtx, ty + 2 * dty)-(tx2 - 2 * dtx, ty2 - 2 * dty), &HC6C3C6, BF
Picture1.PaintPicture TempImageList.ListImages.Item("fk").Picture, tx, ty, kL, kL
'DoEvents
''''''''''''记录过程'''''''''''''''''
JL_x = txn
JL_y = tyn
JL_n = 10
''''''''''''记录过程'''''''''''''''''
End Sub
Sub qk(txn, tyn, n As Long) '去方块:0/画数字:1-8/画地雷:9/画方块:-1
Dim tx As Long, ty As Long, tx2 As Long, ty2 As Long
tx = x0 + (txn - 1) * kL
ty = y0 + (tyn - 1) * kL
tx2 = tx + kL - 20
ty2 = ty + kL - 20
'Picture1.Line (tx, ty)-(tx2, ty2), &H8000000A, BF
'Picture1.Line (tx, ty)-(tx2, ty), &H8000000C, B
'Picture1.Line (tx, ty)-(tx, ty2), &H8000000C, BF
Picture1.PaintPicture TempImageList.ListImages.Item("fkbj").Picture, tx, ty, kL, kL
If n > 0 And n < 9 Then
'Picture1.CurrentX = tx - 80
'Picture1.CurrentY = ty
'Picture1.FontSize = 12
'Picture1.ForeColor = szColor(n - 1)
'Picture1.FontBold = True
'Picture1.FontName = "黑体"
Picture1.PaintPicture TempImageList.ListImages.Item("bj" & n).Picture, tx, ty, kL, kL
'Picture1.Print n
ElseIf n = 9 Then
Picture1.PaintPicture TempImageList.ListImages.Item("bjdl").Picture, tx, ty, kL, kL
ElseIf n = -1 Then
Call hk(tx, ty)
End If
''''''''''''记录过程'''''''''''''''''
JL_x = txn
JL_y = tyn
JL_n = n
''''''''''''记录过程'''''''''''''''''
End Sub
Sub hbj(txn, tyn, n) '画旗帜或问号
Dim tx As Long, ty As Long, tx2 As Long, ty2 As Long
tx = x0 + (txn - 1) * kL
ty = y0 + (tyn - 1) * kL
tx2 = tx + kL - 20
ty2 = ty + kL - 20
If n = 0 Then
Call hk(txn, tyn)
ElseIf n = 1 Then
Picture1.PaintPicture TempImageList.ListImages.Item("bjqi").Picture, tx, ty, kL, kL
ElseIf n = 2 Then
Picture1.PaintPicture TempImageList.ListImages.Item("bjwh").Picture, tx, ty, kL, kL
End If
''''''''''''记录过程'''''''''''''''''
JL_x = txn
JL_y = tyn
JL_n = n + 10
''''''''''''记录过程'''''''''''''''''
End Sub
Private Sub Form_Unload(Cancel As Integer)
Call SetIniS("扫雷", "Xpos", Me.Left)
Call SetIniS("扫雷", "Ypos", Me.Top)
Call SetIniS("扫雷", "Difficulty", Jb - 1)
Call SetIniS("扫雷", "Height", Form2.Text1(0))
Call SetIniS("扫雷", "Width", Form2.Text1(1))
Call SetIniS("扫雷", "Mines", Form2.Text1(2))
Call SetIniS("扫雷", "Mark", Jl.Mark)
Call SetIniS("扫雷", "Color", Jl.Color)
Call SetIniS("扫雷", "K_dx", Main_kL)
If dhxg.Checked = True Then Jl.dhxg = 1 Else Jl.dhxg = 0
Call SetIniS("扫雷", "Dhxg", Jl.dhxg)
End
End Sub
Private Sub gj_Click()
If Jb <> 3 Then
Xn = 30
Yn = 16
Dlzs = 99
Call csh
cj.Checked = False
zj.Checked = False
gj.Checked = True
zdy.Checked = False
Jb = 3
End If
End Sub
Private Sub gysl_Click()
ShellAbout hwnd, "扫雷", "作者:郭喜聪 于2005年10月完成" & vbCrLf & "E-Mail:gxc01_xc@163.com", Me.Icon
End Sub
Private Sub K_dx_Click()
Form5.Show 1
End Sub
Private Sub kj_Click()
Call csh
End Sub
Private Sub Picture2_MouseDown(Button As Integer, Shift As Integer, x As Single, y As Single)
Call bq(4)
End Sub
Private Sub Picture2_MouseUp(Button As Integer, Shift As Integer, x As Single, y As Single)
Call bq(0)
Call csh
End Sub
Private Sub Picture1_MouseDown(Button As Integer, Shift As Integer, x As Single, y As Single)
mouseX = -10
mouseY = -10
ButCount = ButCount + Button
If Shift <> -1 And SBox.Visible = True Then SBox.Visible = False
Call Picture1_MouseMove(Button, Shift, x, y)
txn = ((x - x0) \ kL) + 1
tyn = ((y - y0) \ kL) + 1
If x < x0 Or y < y0 Then
txn = 0
tyn = 0
End If
If txn < 1 Or txn > Xn Or tyn < 1 Or tyn > Yn Then
Exit Sub
End If
If Button = 2 Then
If Not bj.Checked And Zt(txn, tyn) = 1 Then Zt(txn, tyn) = 2: Wbls = Wbls + 1: Call xssz(Wbls, 0)
Select Case Zt(txn, tyn)
Case 0
Call hbj(txn, tyn, 1)
Zt(txn, tyn) = 1
Wbls = Wbls - 1
Call xssz(Wbls, 0)
Case 1
Call hbj(txn, tyn, 2)
Zt(txn, tyn) = 2
Wbls = Wbls + 1
Call xssz(Wbls, 0)
Case 2
Call hk(txn, tyn)
Zt(txn, tyn) = 0
End Select
End If
End Sub
Private Sub Picture1_MouseMove(Button As Integer, Shift As Integer, x As Single, y As Single)
On Error Resume Next
'Me.Caption = Button
txn = ((x - x0) \ kL) + 1
tyn = ((y - y0) \ kL) + 1
If x < x0 Or y < y0 Then
txn = 0
tyn = 0
End If
If Button = 0 Then ButCount = 0: GoTo ExitSub
If txn < 1 Or txn > Xn Or tyn < 1 Or tyn > Yn Then
If mouseX > 0 And mouseY > 0 And Button = 1 Then
If Zt(mouseX, mouseY) <> 1 And Zt(mouseX, mouseY) <> 3 Then
Call hbj(mouseX, mouseY, Zt(mouseX, mouseY))
End If
mouseX = -10
Call bq(0)
End If
If mouseX > 0 And mouseY > 0 And Button = 3 Then
For i = 0 To 8
tx = mouseX + Fw(i, 0)
ty = mouseY + Fw(i, 1)
If tx >= 1 And tx <= Xn And ty >= 1 And ty <= Yn Then
If Zt(tx, ty) <> 1 And Zt(tx, ty) <> 3 Then
Call hbj(tx, ty, Zt(tx, ty))
End If
End If
Next i
mouseX = -10
Call bq(0)
End If
Exit Sub
End If
If Button = 1 Or Button = 3 Then
Call bq(1)
If mouseX > 0 And mouseY > 0 Then
If (mouseX <> txn Or mouseY <> tyn) And Zt(mouseX, mouseY) <> 1 And Zt(mouseX, mouseY) <> 3 Then
'Call hk(mouseX, mouseY)
Call hbj(mouseX, mouseY, Zt(mouseX, mouseY))
End If
End If
If Zt(txn, tyn) <> 1 And Zt(txn, tyn) <> 3 Then
Call qk(txn, tyn, 0)
End If
End If
'ElseIf Button = 3 Then
' Exit Sub
If ButCount = 3 Then
Call bq(1)
If mouseX <> txn Or mouseY <> tyn Then
For i = 0 To 8
tx = mouseX + Fw(i, 0)
ty = mouseY + Fw(i, 1)
If tx >= 1 And tx <= Xn And ty >= 1 And ty <= Yn Then
If Zt(tx, ty) <> 1 And Zt(tx, ty) <> 3 Then
Call hbj(tx, ty, Zt(tx, ty))
End If
End If
Next i
For i = 0 To 8
tx = txn + Fw(i, 0)
ty = tyn + Fw(i, 1)
If tx >= 1 And tx <= Xn And ty >= 1 And ty <= Yn Then
If Zt(tx, ty) <> 1 And Zt(tx, ty) <> 3 Then
Call qk(tx, ty, 0)
End If
End If
Next i
End If
End If
mouseX = txn
mouseY = tyn
'Me.Caption = ButCount
ExitSub:
Label1.Caption = "zt:" & Zt(txn, tyn) & " admin:" & Admin(txn, tyn) & " admin2:" & Admin2(txn, tyn) & " txn:" & txn & " tyn:" & tyn & " wkzs:=" & Wkzs
End Sub
Private Sub Picture1_MouseUp(Button As Integer, Shift As Integer, x As Single, y As Single)
Dim txn As Long, tyn As Long
Dim tx As Long, ty As Long
Dim zwbjls As Long
txn = ((x - x0) \ kL) + 1
tyn = ((y - y0) \ kL) + 1
If x < x0 Or y < y0 Then
txn = 0
tyn = 0
End If
If txn < 1 Or txn > Xn Or tyn < 1 Or tyn > Yn Then
Exit Sub
End If
If SYSzt = 0 Then
Timer1.Enabled = True
SYSzt = 1
Call xssz(1, 1)
Tim = 1
If Admin(txn, tyn) = 9 Then Call start_zh(txn, tyn)
End If
If ButCount = 3 And mouseX > 0 And mouseY > 0 Or MouseDown_1_2 = 1 Then
zwbjls = 0
For i = 0 To 8
tx = mouseX + Fw(i, 0)
ty = mouseY + Fw(i, 1)
If tx >= 1 And tx <= Xn And ty >= 1 And ty <= Yn Then
If Zt(tx, ty) <> 1 And Zt(tx, ty) <> 3 Then
Call hbj(tx, ty, Zt(tx, ty))
End If
If Zt(tx, ty) = 1 Then zwbjls = zwbjls + 1
End If
Next i
If Zt(mouseX, mouseY) = 3 And Admin2(mouseX, mouseY) > 0 And zwbjls = Admin2(mouseX, mouseY) Then
For i = 0 To 8
tx = mouseX + Fw(i, 0)
ty = mouseY + Fw(i, 1)
If tx >= 1 And tx <= Xn And ty >= 1 And ty <= Yn Then
Select Case Zt(tx, ty)
Case 0, 2
If Admin2(tx, ty) = 9 Then
Call kzdl(tx, ty)
Else
Wkzs = Wkzs + 1
Call qk(tx, ty, Admin2(tx, ty))
If Admin2(tx, ty) = 0 Then Call kzfk(tx, ty)
Admin(tx, ty) = -1
Zt(tx, ty) = 3
End If
End Select
End If
Next i
End If
'GoTo ExitSub
End If
ButCount = ButCount - Button
If ButCount = -1 Then ButCount = 1
If ButCount < 0 Then ButCount = 0
If Button = 1 And ButCount < 2 Then
If Zt(txn, tyn) = 0 Or Zt(txn, tyn) = 2 Then
Call qk(txn, tyn, Admin(txn, tyn))
Zt(txn, tyn) = 3
Wkzs = Wkzs + 1
Select Case Admin(txn, tyn)
Case 0
Admin(txn, tyn) = -1
Zt(txn, tyn) = 3
Call kzfk(txn, tyn)
Case 9
Call kzdl(txn, tyn)
End Select
'If Wkzs = Xn * Yn - Dlzs Then
' Call gg
'End If
End If
End If
'ElseIf Button = 3 Then
' End
ExitSub:
Call jcjg
If SYSzt = 0 Or SYSzt = 1 Then Call bq(0)
mouseX = -10
mouseY = -10
'Me.Caption = Wkzs
End Sub
Sub start_zh(txn As Long, tyn As Long) '将开始的地雷置换掉
Dim tx, ty, t1, t2
tx = 1
ty = 1
While (Not (Admin(tx, ty) < 9 And (Abs(txn - tx) > 1 Or Abs(tyn - ty) > 1)))
tx = tx + 1
If tx > Xn Then
tx = 1
ty = ty + 1
End If
Wend
If tx >= 1 And tx <= Xn And ty >= 1 And ty <= Yn Then
If Admin(tx, ty) < 9 Then
For i = 1 To 8
t1 = Fw(i, 0) + tx
t2 = Fw(i, 1) + ty
If t1 >= 1 And t1 <= Xn And t2 >= 1 And t2 <= Yn Then
If Admin(t1, t2) < 8 Then
Admin(t1, t2) = Admin(t1, t2) + 1
Admin2(t1, t2) = Admin2(t1, t2) + 1
End If
End If
Next i
Admin(tx, ty) = 9
Admin2(tx, ty) = 9
Admin(txn, tyn) = 0
For i = 1 To 8
t1 = Fw(i, 0) + txn
t2 = Fw(i, 1) + tyn
If t1 >= 1 And t1 <= Xn And t2 >= 1 And t2 <= Yn Then
If Admin(t1, t2) < 9 Then
Admin(t1, t2) = Admin(t1, t2) - 1
Admin2(t1, t2) = Admin2(t1, t2) - 1
Else
Admin(txn, tyn) = Admin(txn, tyn) + 1
End If
End If
Next i
Admin2(txn, tyn) = Admin(txn, tyn)
End If
End If
End Sub
Function jcjg() As Boolean
Dim Wkzls As Long
If SYSzt <> 1 Then Exit Function
Wkzls = 0
For i = 1 To Xn
For j = 1 To Yn
If Zt(i, j) = 3 Then Wkzls = Wkzls + 1
Next j
Next i
If Wkzls = Xn * Yn - Dlzs Then Call gg
jcjg = True
End Function
Sub gg() '过关
Timer1.Enabled = False
Picture1.Enabled = False
For i = 1 To Xn
For j = 1 To Yn
If Zt(i, j) = 0 Then
Call hbj(i, j, 1)
Zt(i, j) = 3
End If
Next j
Next i
Call bq(3)
Call xssz(0, 0)
'MsgBox "过关了!", vbOKOnly, "提示"
SYSzt = 3
Select Case Jb
Case 1
TTim = Jl.Time1
Case 2
TTim = Jl.Time2
Case 3
TTim = Jl.Time3
Case 4
TTim = 0
End Select
If Tim < TTim And Auto_Game = False Then
TJb = Jb
TTim = Tim
Form4.Show 1
End If
End Sub
Sub kzfk(tx As Long, ty As Long) '扩展方块
Dim i As Long, j As Long, k, dj
For k = 1 To 8
i = tx + Fw(k, 0)
j = ty + Fw(k, 1)
If i >= 1 And i <= Xn And j >= 1 And j <= Yn Then
If Zt(i, j) = 0 Or Zt(i, j) = 2 Then
If dhxg.Checked = True Then Call yanshi(2)
Wkzs = Wkzs + 1
Zt(i, j) = 3
Call qk(i, j, Admin(i, j))
If Admin(i, j) = 0 Then
Admin(i, j) = -1
Call kzfk(i, j)
DoEvents
End If
End If
End If
Next k
End Sub
Sub yanshi(sj As Long)
Timer1.Enabled = False
Picture1.Enabled = False
Picture2.Enabled = False
yx.Enabled = False
AutoGame.Enabled = False
ysq = 0
Timer2.Interval = 1
Timer2.Enabled = True
While (ysq < sj)
DoEvents
Wend
Timer2.Enabled = False
Timer1.Enabled = True
AutoGame.Enabled = True
Picture1.Enabled = True
Picture2.Enabled = True
yx.Enabled = True
End Sub
Private Sub sd_Click(Index As Integer)
Dim i
For i = 0 To sd.Count - 1
If i <> Index Then sd(i).Checked = False Else sd(i).Checked = True
Next i
Auto_sd = (9 - Index) * 100
End Sub
Private Sub Timer2_Timer()
ysq = ysq + 1
End Sub
Private Sub stop_game_Click()
If SYSzt <> 1 Then Exit Sub
If Auto_Game = True Then
Call AutoGame_Click
End If
If stop_game.Checked = True Then
stop_game.Checked = False
Timer1.Enabled = True
Picture1.Enabled = True
Frame1.Visible = False
Timer3.Enabled = False
Else
stop_game.Checked = True
Timer1.Enabled = False
Picture1.Enabled = False
Frame1.Move x0, y0, Xn * kL, Yn * kL
Label_stop_game.Move (Frame1.Width - Label_stop_game.Width) / 2, (Frame1.Height - Label_stop_game.Height) / 2
Frame1.Visible = True
Timer3.Enabled = True
' Call Picture1_MouseUp(CInt(ButCount), 0, CInt(X0 + (mouseX - 1) * kL), CInt(Y0 + (mouseY - 1) * kL))
End If
End Sub
Sub kzdl(txn As Long, tyn As Long) '扩展地雷 = 失败了
Dim i, j, tb
Picture1.Enabled = False
Timer1.Enabled = False
Call bq(2)
SYSzt = 2
Zt(txn, tyn) = 3
For i = 1 To Xn
For j = 1 To Yn
tb = ""
If Admin2(i, j) = 9 Then
Select Case Zt(i, j)
Case 0 '未挖
tb = "bjdl"
Zt(i, j) = 3
Case 1 '标记雷
Case 2 '标记?
tb = "bjdl"
Case 3 '挖开
tb = "bjl"
End Select
Else
If Zt(i, j) = 1 Then
tb = "bjc"
End If
End If
If tb <> "" Then
tx = x0 + (i - 1) * kL
ty = y0 + (j - 1) * kL
Picture1.PaintPicture TempImageList.ListImages.Item(tb).Picture, tx, ty, kL, kL
End If
'DoEvents
Next j
Next i
End Sub
Sub xssz(n, k) '设置俩个计数器
Dim S
S = Trim(Str(n))
For i = 1 To 3 - Len(S)
S = "0" & S
Next i
If k = 0 Then
tx = 270
ElseIf k = 1 Then
tx = Xn * kL - 500 ' 6700
End If
ty = 250
Picture1.PaintPicture TempImageList.ListImages.Item("sz" & Mid(S, 1, 1)).Picture, tx, ty
Picture1.PaintPicture TempImageList.ListImages.Item("sz" & Mid(S, 2, 1)).Picture, tx + 200, ty
Picture1.PaintPicture TempImageList.ListImages.Item("sz" & Mid(S, 3, 1)).Picture, tx + 390, ty
End Sub
Sub bq(n) '置表情为 n
Picture2.Picture = TempImageList.ListImages.Item("bq" & n).Picture
End Sub
Private Sub slyxb_Click()
Form3.Show 1
End Sub
Private Sub tc_Click()
Unload Me
End Sub
Private Sub Timer1_Timer() '自动走表
Tim = Tim + 1
Call xssz(Tim, 1)
If Tim > 998 Then
Timer1.Enabled = False
SYSzt = 2
MsgBox "时间已用完!"
End If
End Sub
Private Sub Timer3_Timer()
Dim l_x, l_y, dt
l_x = Label_stop_game.Left
l_y = Label_stop_game.Top
dt = 50
If l_x + Label_stop_game.Width + L_fx * dt > Frame1.Width Or l_x + L_fx * dt < 0 Then
L_fx = -L_fx
End If
l_x = l_x + L_fx * dt
If l_y + Label_stop_game.Height + L_fy * dt > Frame1.Height Or l_y + L_fy * dt < 0 Then
L_fy = -L_fy
End If
l_y = l_y + L_fy * dt
Label_stop_game.Move l_x, l_y
End Sub
Private Sub ys_Click() '颜色
If SYSzt = 2 Then Exit Sub
If ys.Checked = True Then
ys.Checked = False
Jl.Color = 0
Set TempImageList = ImageList2
Else
ys.Checked = True
Jl.Color = 1
Set TempImageList = ImageList1
End If
Call Refr
End Sub
Sub Refr() '重画界面
Call hjm
Call xssz(Tim, 1)
Call xssz(Wbls, 0)
If SYSzt < 2 Then
Call bq(0)
ElseIf SYSzt = 3 Then
Call bq(3)
End If
For i = 1 To Xn
For j = 1 To Yn
If Zt(i, j) < 3 Then
Call hbj(i, j, Zt(i, j))
Else
Call qk(i, j, Admin2(i, j))
End If
Next j
Next i
End Sub
Private Sub zdy_Click()
zdyLs = Dlzs
zdyXn = Xn
zdyYn = Yn
Form2.Show 1
If zdyLs <> Dlzs Or zdyXn <> Xn Or zdyYn <> Yn Then
Dlzs = zdyLs
Xn = zdyXn
Yn = zdyYn
Call csh
cj.Checked = False
zj.Checked = False
gj.Checked = False
zdy.Checked = True
Jb = 4
End If
End Sub
Private Sub zj_Click()
If Jb <> 2 Then
Xn = 16
Yn = 16
Dlzs = 40
Call csh
cj.Checked = False
zj.Checked = True
gj.Checked = False
zdy.Checked = False
Jb = 2
End If
End Sub
Sub zd()
Dim djd_x, djd_y, i, j, k, wwk, hqs
Dim bqz As Boolean, djk As Boolean
Dim ztsj
On Error Resume Next
bqz = True
djk = True
'ztsj = 400
'If bj.Checked = True Then Call bj_Click
While (1)
If dhxg.Checked = True Then Call dhxg_Click
If bqz = False And djk = False Then
djd_x = Int(Rnd * Xn) + 1
djd_y = Int(Rnd * Yn) + 1
While Zt(djd_x, djd_y) <> 0 And Zt(djd_z, djd_y) <> 2
djd_x = Int(Rnd * Xn) + 1
djd_y = Int(Rnd * Yn) + 1
Wend
tx = x0 + (djd_x - 1) * kL
ty = y0 + (djd_y - 1) * kL
Call ydBox(tx, ty)
Call Picture1_MouseDown(1, -1, tx + 1, ty + 1)
Call Picture1_MouseUp(1, 0, tx + 1, ty + 1)
DoEvents
Call yanshi2(Auto_sd)
If Auto_Game = False Then Exit Sub
End If
DoEvents
If SYSzt > 1 Then
yanshi2 (Auto_sd * 2)
t = (Picture2.Width - kL) / 2
Call ydBox(Picture2.Left + t, Picture2.Top + t)
Call csh
yanshi2 (Auto_sd * 2)
Picture1.Enabled = False
Picture2.Enabled = False
End If
bqz = False
For i = 1 To Xn
For j = 1 To Yn
If Zt(i, j) = 3 Then
wwk = 0
For k = 1 To 8
If i + Fw(k, 0) > 0 And i + Fw(k, 0) <= Xn And j + Fw(k, 1) > 0 And j + Fw(k, 1) <= Yn Then
If Zt(i + Fw(k, 0), j + Fw(k, 1)) <= 2 Then wwk = wwk + 1
End If
Next k
If Admin2(i, j) = wwk And Admin2(i, j) <> 0 Then
For k = 1 To 8
If i + Fw(k, 0) > 0 And i + Fw(k, 0) <= Xn And j + Fw(k, 1) > 0 And j + Fw(k, 1) <= Yn Then
If Zt(i + Fw(k, 0), j + Fw(k, 1)) <> 1 And Zt(i + Fw(k, 0), j + Fw(k, 1)) <> 3 Then
tx = x0 + (i + Fw(k, 0) - 1) * kL
ty = y0 + (j + Fw(k, 1) - 1) * kL
Call ydBox(tx, ty)
Call Picture1_MouseDown(2, -1, tx + 1, ty + 1)
Call Picture1_MouseUp(2, 0, tx + 1, ty + 1)
DoEvents
Call yanshi2(Auto_sd)
bqz = True
End If
End If
Next k
End If
End If
If Auto_Game = False Then Exit Sub
Next j
Next i
DoEvents
'If bqz = True Then Call Sleep(Auto_sd)
djk = False
For i = 1 To Xn
For j = 1 To Yn
If Zt(i, j) = 3 Then
hqs = 0
For k = 1 To 8
If i + Fw(k, 0) > 0 And i + Fw(k, 0) <= Xn And j + Fw(k, 1) > 0 And j + Fw(k, 1) <= Yn Then
If Zt(i + Fw(k, 0), j + Fw(k, 1)) = 1 Then hqs = hqs + 1
End If
Next k
If Admin2(i, j) = hqs And Admin2(i, j) <> 0 Then
For k = 1 To 8
If i + Fw(k, 0) > 0 And i + Fw(k, 0) <= Xn And j + Fw(k, 1) > 0 And j + Fw(k, 1) <= Yn Then
If Zt(i + Fw(k, 0), j + Fw(k, 1)) <> 1 And Zt(i + Fw(k, 0), j + Fw(k, 1)) <> 3 Then
tx = x0 + (i + Fw(k, 0) - 1) * kL
ty = y0 + (j + Fw(k, 1) - 1) * kL
Call ydBox(tx, ty)
Call Picture1_MouseDown(1, -1, tx + 1, ty + 1)
Call Picture1_MouseUp(1, 0, tx + 1, ty + 1)
DoEvents
Call yanshi2(Auto_sd)
djk = True
End If
End If
Next k
End If
End If
If Auto_Game = False Then Exit Sub
Next j
Next i
DoEvents
'If djk = True Then Call Sleep(ztsj)
Wend
End Sub
Sub yanshi2(sj As Long)
Call Sleep(sj)
'Call yanshi(sj)
End Sub
Sub ydBox(tx As Variant, ty As Variant)
Dim DistX, DistY, PosX, PosY, dt, dtx, dty, tmp
Dim Cursorpos As POINTAPI, BoxPos As POINTAPI
BoxPos.x = (tx + kL / 2) / Screen.TwipsPerPixelX
BoxPos.y = (ty + kL / 2) / Screen.TwipsPerPixelY
tmp = ClientToScreen(Me.hwnd, BoxPos)
tmp = GetCursorPos(Cursorpos)
DistX = BoxPos.x - Cursorpos.x
DistY = BoxPos.y - Cursorpos.y
For i = 1 To 40000
PosX = Cursorpos.x + DistX * i / 40000
PosY = Cursorpos.y + DistY * i / 40000
tmp = SetCursorPos(PosX, PosY)
Next i
End Sub