⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 form2.frm

📁 用vb编写的华容道游戏
💻 FRM
📖 第 1 页 / 共 3 页
字号:
Form2.Left = Screen.Width / 2 - Form2.Width / 2
Form2.Top = Screen.Height / 2 - Form2.Height / 2
    Image2(2).Picture = PictureClip1.GraphicCell(0)
    Image2(1).Picture = PictureClip1.GraphicCell(0)
    Image2(0).Picture = PictureClip1.GraphicCell(0)


If Me.Picture <> 0 Then Call SetAutoRgn(Me)
'Me.Picture = LoadPicture(App.Path & "\main.bmp")
Me.Picture = PictureClip3.GraphicCell(0)
End Sub
Function check_me(Index As Integer)
Select Case Index
Case 0, 2, 3, 5
        If b(Index, 1) > 0 Then
           If a(b(Index, 0), b(Index, 1) - 1) = 0 And a(b(Index, 0) + 1, b(Index, 1) - 1) = 0 Then
           left_ok = True
           End If
        End If
        If b(Index, 1) < 3 Then
           If a(b(Index, 0), b(Index, 1) + 1) = 0 And a(b(Index, 0) + 1, b(Index, 1) + 1) = 0 Then
           right_ok = True
           End If
        End If
        If b(Index, 0) > 0 Then
           If a(b(Index, 0) - 1, b(Index, 1)) = 0 Then
           up_ok = True
           End If
        End If
        If b(Index, 0) < 3 Then
           If a(b(Index, 0) + 2, b(Index, 1)) = 0 Then
           down_ok = True
           End If
        End If
Case 1
        If b(Index, 1) > 0 Then
           If a(b(Index, 0), b(Index, 1) - 1) = 0 And a(b(Index, 0) + 1, b(Index, 1) - 1) = 0 Then
           left_ok = True
           End If
        End If
        If b(Index, 1) < 2 Then
           If a(b(Index, 0), b(Index, 1) + 2) = 0 And a(b(Index, 0) + 1, b(Index, 1) + 2) = 0 Then
           right_ok = True
           End If
        End If
        If b(Index, 0) > 0 Then
           If a(b(Index, 0) - 1, b(Index, 1)) = 0 And a(b(Index, 0) - 1, b(Index, 1) + 1) = 0 Then
           up_ok = True
           End If
        End If
        If b(Index, 0) < 3 Then
           If a(b(Index, 0) + 2, b(Index, 1)) = 0 And a(b(Index, 0) + 2, b(Index, 1) + 1) = 0 Then
           down_ok = True
           End If
        End If

Case 4
        If b(Index, 1) > 0 Then
           If a(b(Index, 0), b(Index, 1) - 1) = 0 Then
           left_ok = True
           End If
        End If
        If b(Index, 1) < 2 Then
           If a(b(Index, 0), b(Index, 1) + 2) = 0 Then
           right_ok = True
           End If
        End If
        If b(Index, 0) > 0 Then
           If a(b(Index, 0) - 1, b(Index, 1)) = 0 And a(b(Index, 0) - 1, b(Index, 1) + 1) = 0 Then
           up_ok = True
           End If
        End If
        If b(Index, 0) < 4 Then
           If a(b(Index, 0) + 1, b(Index, 1)) = 0 And a(b(Index, 0) + 1, b(Index, 1) + 1) = 0 Then
           down_ok = True
           End If
        End If

Case 6, 7, 8, 9
        If b(Index, 1) > 0 Then
           If a(b(Index, 0), b(Index, 1) - 1) = 0 Then
           left_ok = True
           End If
        End If
        If b(Index, 1) < 3 Then
           If a(b(Index, 0), b(Index, 1) + 1) = 0 Then
           right_ok = True
           End If
        End If
        If b(Index, 0) > 0 Then
           If a(b(Index, 0) - 1, b(Index, 1)) = 0 Then
           up_ok = True
           End If
        End If
        If b(Index, 0) < 4 Then
           If a(b(Index, 0) + 1, b(Index, 1)) = 0 Then
           down_ok = True
           End If
        End If

End Select
End Function

Function move_left(Index As Integer)
    Command1(Index).Left = Command1(Index).Left - 600
step1 = step1 + 1

If step1 > 9 Then
   If step1 > 99 Then
     If step1 > 999 Then
     Else
     Image2(2).Picture = PictureClip1.GraphicCell(Int(step1 / 100))
     Image2(1).Picture = PictureClip1.GraphicCell(Int(step1 / 10) Mod 10)
     Image2(0).Picture = PictureClip1.GraphicCell(Int(step1 Mod 10))

     End If
     Else
     Image2(1).Picture = PictureClip1.GraphicCell(Int(step1 / 10))
     Image2(0).Picture = PictureClip1.GraphicCell(Int(step1 Mod 10))

   End If
   Else
   Image2(0).Picture = PictureClip1.GraphicCell(step1)

End If


Select Case Index
Case 0, 2, 3, 5
a(b(Index, 0), b(Index, 1)) = 0
a(b(Index, 0) + 1, b(Index, 1)) = 0
b(Index, 1) = b(Index, 1) - 1
a(b(Index, 0), b(Index, 1)) = 1
a(b(Index, 0) + 1, b(Index, 1)) = 1
Case 1
a(b(Index, 0), b(Index, 1) + 1) = 0
a(b(Index, 0) + 1, b(Index, 1) + 1) = 0
b(Index, 1) = b(Index, 1) - 1
a(b(Index, 0), b(Index, 1)) = 1
a(b(Index, 0) + 1, b(Index, 1)) = 1

Case 4
a(b(Index, 0), b(Index, 1) + 1) = 0
b(Index, 1) = b(Index, 1) - 1
a(b(Index, 0), b(Index, 1)) = 1

Case 6, 7, 8, 9
a(b(Index, 0), b(Index, 1)) = 0
b(Index, 1) = b(Index, 1) - 1
a(b(Index, 0), b(Index, 1)) = 1

End Select
Data1.Recordset.AddNew
    Data1.Recordset("aa") = step1
    Data1.Recordset("b00") = b(0, 0)
    Data1.Recordset("b01") = b(0, 1)
    Data1.Recordset("b10") = b(1, 0)
    Data1.Recordset("b11") = b(1, 1)
    Data1.Recordset("b20") = b(2, 0)
    Data1.Recordset("b21") = b(2, 1)
    Data1.Recordset("b30") = b(3, 0)
    Data1.Recordset("b31") = b(3, 1)
    Data1.Recordset("b40") = b(4, 0)
    Data1.Recordset("b41") = b(4, 1)
    Data1.Recordset("b50") = b(5, 0)
    Data1.Recordset("b51") = b(5, 1)
    Data1.Recordset("b60") = b(6, 0)
    Data1.Recordset("b61") = b(6, 1)
    Data1.Recordset("b70") = b(7, 0)
    Data1.Recordset("b71") = b(7, 1)
    Data1.Recordset("b80") = b(8, 0)
    Data1.Recordset("b81") = b(8, 1)
    Data1.Recordset("b90") = b(9, 0)
    Data1.Recordset("b91") = b(9, 1)
    Data1.Recordset("a00") = a(0, 0)
    Data1.Recordset("a01") = a(0, 1)
    Data1.Recordset("a02") = a(0, 2)
    Data1.Recordset("a03") = a(0, 3)
    Data1.Recordset("a10") = a(1, 0)
    Data1.Recordset("a11") = a(1, 1)
    Data1.Recordset("a12") = a(1, 2)
    Data1.Recordset("a13") = a(1, 3)
    Data1.Recordset("a20") = a(2, 0)
    Data1.Recordset("a21") = a(2, 1)
    Data1.Recordset("a22") = a(2, 2)
    Data1.Recordset("a23") = a(2, 3)
    Data1.Recordset("a30") = a(3, 0)
    Data1.Recordset("a31") = a(3, 1)
    Data1.Recordset("a32") = a(3, 2)
    Data1.Recordset("a33") = a(3, 3)
    Data1.Recordset("a40") = a(4, 0)
    Data1.Recordset("a41") = a(4, 1)
    Data1.Recordset("a42") = a(4, 2)
    Data1.Recordset("a43") = a(4, 3)

Data1.UpdateRecord

           down_ok = False
           up_ok = False
           left_ok = False
           right_ok = False
           
End Function
Function move_right(Index As Integer)
Command1(Index).Left = Command1(Index).Left + 600
step1 = step1 + 1
If step1 > 9 Then
   If step1 > 99 Then
     If step1 > 999 Then
     Else
     Image2(2).Picture = PictureClip1.GraphicCell(Int(step1 / 100))
     Image2(1).Picture = PictureClip1.GraphicCell(Int(step1 / 10) Mod 10)
     Image2(0).Picture = PictureClip1.GraphicCell(Int(step1 Mod 10))

     End If
     Else
     Image2(1).Picture = PictureClip1.GraphicCell(Int(step1 / 10))
     Image2(0).Picture = PictureClip1.GraphicCell(Int(step1 Mod 10))

   End If
   Else
   Image2(0).Picture = PictureClip1.GraphicCell(step1)

End If


Select Case Index
Case 0, 2, 3, 5
a(b(Index, 0), b(Index, 1)) = 0
a(b(Index, 0) + 1, b(Index, 1)) = 0
b(Index, 1) = b(Index, 1) + 1
a(b(Index, 0), b(Index, 1)) = 1
a(b(Index, 0) + 1, b(Index, 1)) = 1
Case 1
a(b(Index, 0), b(Index, 1)) = 0
a(b(Index, 0) + 1, b(Index, 1)) = 0
b(Index, 1) = b(Index, 1) + 1
a(b(Index, 0), b(Index, 1) + 1) = 1
a(b(Index, 0) + 1, b(Index, 1) + 1) = 1

Case 4
a(b(Index, 0), b(Index, 1)) = 0
b(Index, 1) = b(Index, 1) + 1
a(b(Index, 0), b(Index, 1) + 1) = 1

Case 6, 7, 8, 9
a(b(Index, 0), b(Index, 1)) = 0
b(Index, 1) = b(Index, 1) + 1
a(b(Index, 0), b(Index, 1)) = 1

End Select
Data1.Recordset.AddNew
    Data1.Recordset("aa") = step1
    Data1.Recordset("b00") = b(0, 0)
    Data1.Recordset("b01") = b(0, 1)
    Data1.Recordset("b10") = b(1, 0)
    Data1.Recordset("b11") = b(1, 1)
    Data1.Recordset("b20") = b(2, 0)
    Data1.Recordset("b21") = b(2, 1)
    Data1.Recordset("b30") = b(3, 0)
    Data1.Recordset("b31") = b(3, 1)
    Data1.Recordset("b40") = b(4, 0)
    Data1.Recordset("b41") = b(4, 1)
    Data1.Recordset("b50") = b(5, 0)
    Data1.Recordset("b51") = b(5, 1)
    Data1.Recordset("b60") = b(6, 0)
    Data1.Recordset("b61") = b(6, 1)
    Data1.Recordset("b70") = b(7, 0)
    Data1.Recordset("b71") = b(7, 1)
    Data1.Recordset("b80") = b(8, 0)
    Data1.Recordset("b81") = b(8, 1)
    Data1.Recordset("b90") = b(9, 0)
    Data1.Recordset("b91") = b(9, 1)
    Data1.Recordset("a00") = a(0, 0)
    Data1.Recordset("a01") = a(0, 1)
    Data1.Recordset("a02") = a(0, 2)
    Data1.Recordset("a03") = a(0, 3)
    Data1.Recordset("a10") = a(1, 0)
    Data1.Recordset("a11") = a(1, 1)
    Data1.Recordset("a12") = a(1, 2)
    Data1.Recordset("a13") = a(1, 3)
    Data1.Recordset("a20") = a(2, 0)
    Data1.Recordset("a21") = a(2, 1)
    Data1.Recordset("a22") = a(2, 2)
    Data1.Recordset("a23") = a(2, 3)
    Data1.Recordset("a30") = a(3, 0)
    Data1.Recordset("a31") = a(3, 1)
    Data1.Recordset("a32") = a(3, 2)
    Data1.Recordset("a33") = a(3, 3)
    Data1.Recordset("a40") = a(4, 0)
    Data1.Recordset("a41") = a(4, 1)
    Data1.Recordset("a42") = a(4, 2)
    Data1.Recordset("a43") = a(4, 3)
    
Data1.UpdateRecord

           down_ok = False
           up_ok = False
           left_ok = False
           right_ok = False

End Function
Function move_down(Index As Integer)
    Command1(Index).Top = Command1(Index).Top + 600
step1 = step1 + 1
If step1 > 9 Then
   If step1 > 99 Then
     If step1 > 999 Then
     Else
     Image2(2).Picture = PictureClip1.GraphicCell(Int(step1 / 100))
     Image2(1).Picture = PictureClip1.GraphicCell(Int(step1 / 10) Mod 10)
     Image2(0).Picture = PictureClip1.GraphicCell(Int(step1 Mod 10))

     End If
     Else
     Image2(1).Picture = PictureClip1.GraphicCell(Int(step1 / 10))
     Image2(0).Picture = PictureClip1.GraphicCell(Int(step1 Mod 10))

   End If
   Else
   Image2(0).Picture = PictureClip1.GraphicCell(step1)

End If


Select Case Index
Case 0, 2, 3, 5
a(b(Index, 0), b(Index, 1)) = 0
b(Index, 0) = b(Index, 0) + 1
a(b(Index, 0) + 1, b(Index, 1)) = 1
Case 1
a(b(Index, 0), b(Index, 1)) = 0
a(b(Index, 0), b(Index, 1) + 1) = 0
b(Index, 0) = b(Index, 0) + 1
a(b(Index, 0) + 1, b(Index, 1)) = 1
a(b(Index, 0) + 1, b(Index, 1) + 1) = 1

Case 4
a(b(Index, 0), b(Index, 1)) = 0
a(b(Index, 0), b(Index, 1) + 1) = 0

b(Index, 0) = b(Index, 0) + 1
a(b(Index, 0), b(Index, 1)) = 1
a(b(Index, 0), b(Index, 1) + 1) = 1

Case 6, 7, 8, 9
a(b(Index, 0), b(Index, 1)) = 0
b(Index, 0) = b(Index, 0) + 1
a(b(Index, 0), b(Index, 1)) = 1
End Select
Data1.Recordset.AddNew
    Data1.Recordset("aa") = step1
    Data1.Recordset("b00") = b(0, 0)
    Data1.Recordset("b01") = b(0, 1)
    Data1.Recordset("b10") = b(1, 0)
    Data1.Recordset("b11") = b(1, 1)
    Data1.Recordset("b20") = b(2, 0)
    Data1.Recordset("b21") = b(2, 1)
    Data1.Recordset("b30") = b(3, 0)
    Data1.Recordset("b31") = b(3, 1)
    Data1.Recordset("b40") = b(4, 0)
    Data1.Recordset("b41") = b(4, 1)
    Data1.Recordset("b50") = b(5, 0)
    Data1.Recordset("b51") = b(5, 1)
    Data1.Recordset("b60") = b(6, 0)
    Data1.Recordset("b61") = b(6, 1)
    Data1.Recordset("b70") = b(7, 0)
    Data1.Recordset("b71") = b(7, 1)
    Data1.Recordset("b80") = b(8, 0)
    Data1.Recordset("b81") = b(8, 1)
    Data1.Recordset("b90") = b(9, 0)
    Data1.Recordset("b91") = b(9, 1)
    Data1.Recordset("a00") = a(0, 0)
    Data1.Recordset("a01") = a(0, 1)
    Data1.Recordset("a02") = a(0, 2)
    Data1.Recordset("a03") = a(0, 3)
    Data1.Recordset("a10") = a(1, 0)
    Data1.Recordset("a11") = a(1, 1)
    Data1.Recordset("a12") = a(1, 2)
    Data1.Recordset("a13") = a(1, 3)
    Data1.Recordset("a20") = a(2, 0)
    Data1.Recordset("a21") = a(2, 1)
    Data1.Recordset("a22") = a(2, 2)
    Data1.Recordset("a23") = a(2, 3)
    Data1.Recordset("a30") = a(3, 0)
    Data1.Recordset("a31") = a(3, 1)
    Data1.Recordset("a32") = a(3, 2)
    Data1.Recordset("a33") = a(3, 3)
    Data1.Recordset("a40") = a(4, 0)
    Data1.Recordset("a41") = a(4, 1)
    Data1.Recordset("a42") = a(4, 2)
    Data1.Recordset("a43") = a(4, 3)

Data1.UpdateRecord

           down_ok = False
           up_ok = False
           left_ok = False
           right_ok = False

End Function

Function move_up(Index As Integer)
    Command1(Index).Top = Command1(Index).Top - 600
step1 = step1 + 1
If step1 > 9 Then
   If step1 > 99 Then
     If step1 > 999 Then
     Else
     Image2(2).Picture = PictureClip1.GraphicCell(Int(step1 / 100))
     Image2(1).Picture = PictureClip1.GraphicCell(Int(step1 / 10) Mod 10)
     Image2(0).Picture = PictureClip1.GraphicCell(Int(step1 Mod 10))

     End If
     Else
     Image2(1).Picture = PictureClip1.GraphicCell(Int(step1 / 10))
     Image2(0).Picture = PictureClip1.GraphicCell(Int(step1 Mod 10))

   End If
   Else
   Image2(0).Picture = PictureClip1.GraphicCell(step1)

End If


Select Case Index
Case 0, 2, 3, 5
a(b(Index, 0) + 1, b(Index, 1)) = 0
b(Index, 0) = b(Index, 0) - 1
a(b(Index, 0), b(Index, 1)) = 1
Case 1
a(b(Index, 0) + 1, b(Index, 1)) = 0
a(b(Index, 0) + 1, b(Index, 1) + 1) = 0
b(Index, 0) = b(Index, 0) - 1
a(b(Index, 0), b(Index, 1)) = 1
a(b(Index, 0), b(Index, 1) + 1) = 1

Case 4
a(b(Index, 0), b(Index, 1)) = 0
a(b(Index, 0), b(Index, 1) + 1) = 0

b(Index, 0) = b(Index, 0) - 1
a(b(Index, 0), b(Index, 1)) = 1
a(b(Index, 0), b(Index, 1) + 1) = 1

Case 6, 7, 8, 9
a(b(Index, 0), b(Index, 1)) = 0
b(Index, 0) = b(Index, 0) - 1
a(b(Index, 0), b(Index, 1)) = 1
End Select
Data1.Recordset.AddNew
    Data1.Recordset("aa") = step1
    Data1.Recordset("b00") = b(0, 0)
    Data1.Recordset("b01") = b(0, 1)
    Data1.Recordset("b10") = b(1, 0)
    Data1.Recordset("b11") = b(1, 1)
    Data1.Recordset("b20") = b(2, 0)
    Data1.Recordset("b21") = b(2, 1)
    Data1.Recordset("b30") = b(3, 0)
    Data1.Recordset("b31") = b(3, 1)
    Data1.Recordset("b40") = b(4, 0)
    Data1.Recordset("b41") = b(4, 1)
    Data1.Recordset("b50") = b(5, 0)
    Data1.Recordset("b51") = b(5, 1)
    Data1.Recordset("b60") = b(6, 0)
    Data1.Recordset("b61") = b(6, 1)
    Data1.Recordset("b70") = b(7, 0)
    Data1.Recordset("b71") = b(7, 1)
    Data1.Recordset("b80") = b(8, 0)
    Data1.Recordset("b81") = b(8, 1)
    Data1.Recordset("b90") = b(9, 0)
    Data1.Recordset("b91") = b(9, 1)
    Data1.Recordset("a00") = a(0, 0)
    Data1.Recordset("a01") = a(0, 1)
    Data1.Recordset("a02") = a(0, 2)
    Data1.Recordset("a03") = a(0, 3)
    Data1.Recordset("a10") = a(1, 0)
    Data1.Recordset("a11") = a(1, 1)
    Data1.Recordset("a12") = a(1, 2)
    Data1.Recordset("a13") = a(1, 3)
    Data1.Recordset("a20") = a(2, 0)
    Data1.Recordset("a21") = a(2, 1)
    Data1.Recordset("a22") = a(2, 2)
    Data1.Recordset("a23") = a(2, 3)
    Data1.Recordset("a30") = a(3, 0)
    Data1.Recordset("a31") = a(3, 1)
    Data1.Recordset("a32") = a(3, 2)
    Data1.Recordset("a33") = a(3, 3)
    Data1.Recordset("a40") = a(4, 0)
    Data1.Recordset("a41") = a(4, 1)
    Data1.Recordset("a42") = a(4, 2)
    Data1.Recordset("a43") = a(4, 3)

Data1.UpdateRecord

           down_ok = False
           up_ok = False
           left_ok = False
           right_ok = False

End Function


Private Sub Form_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)


'移动窗体

If Button = vbLeftButton Then
ReleaseCapture
SendMessage Me.hwnd, WM_NCLBUTTONDOWN, HTCAPTION, 0&
End If
'If Button = vbRightButton Then
'PopupMenu Form1.mainmenu
'End If
End Sub

Private Sub Image1_Click(Index As Integer)

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -