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