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

📄 hrd.frm

📁 用vb编写的华容道游戏
💻 FRM
📖 第 1 页 / 共 2 页
字号:
 For j = 0 To 3
   a(i, j) = 1
 Next j
Next i
a(4, 3) = 0
a(4, 2) = 0

b(0, 0) = 0
b(0, 1) = 3
b(1, 0) = 0
b(1, 1) = 0
b(2, 0) = 3
b(2, 1) = 1
b(3, 0) = 0
b(3, 1) = 2
b(4, 0) = 2
b(4, 1) = 0
b(5, 0) = 3
b(5, 1) = 0
b(6, 0) = 2
b(6, 1) = 2
b(7, 0) = 2
b(7, 1) = 3
b(8, 0) = 3
b(8, 1) = 2
b(9, 0) = 3
b(9, 1) = 3
For i = 0 To 9
Command1(i).Left = b(i, 1) * 600 + 100
Command1(i).Top = b(i, 0) * 600 + 200
Next i


End Sub

Private Sub Command8_Click()
Select Case step_num
Case 1
Call Command3_Click
Case 2
Call Command4_Click

Case 3
Call Command5_Click

Case 4
Call Command6_Click

Case 5
Call Command7_Click
End Select
step1 = 0
Label1.Caption = 0
End Sub

Private Sub Command9_Click()
Dim no1 As String
Dim i As Integer
Data1.RecordSource = "select * from step where aa=" & "'" & Trim(Label1.Caption) & "'"
Data1.Refresh
If Data1.Recordset.RecordCount < 1 Then
MsgBox "error!"
Exit Sub
Else
Data1.Database.Execute ("delete * from step where aa=" & "'" & Trim(Label1.Caption) & "'")
Data1.RecordSource = "select * from step"
Data1.Refresh
Data1.Recordset.MoveLast
b(0, 0) = Data1.Recordset("b00")
b(0, 1) = Data1.Recordset("b01")
b(1, 0) = Data1.Recordset("b10")
b(1, 1) = Data1.Recordset("b11")
b(2, 0) = Data1.Recordset("b20")
b(2, 1) = Data1.Recordset("b21")
b(3, 0) = Data1.Recordset("b30")
b(3, 1) = Data1.Recordset("b31")
b(4, 0) = Data1.Recordset("b40")
b(4, 1) = Data1.Recordset("b41")
b(5, 0) = Data1.Recordset("b50")
b(5, 1) = Data1.Recordset("b51")
b(6, 0) = Data1.Recordset("b60")
b(6, 1) = Data1.Recordset("b61")
b(7, 0) = Data1.Recordset("b70")
b(7, 1) = Data1.Recordset("b71")
b(8, 0) = Data1.Recordset("b80")
b(8, 1) = Data1.Recordset("b81")
b(9, 0) = Data1.Recordset("b90")
b(9, 1) = Data1.Recordset("b91")
a(0, 0) = Data1.Recordset("a00")
a(0, 1) = Data1.Recordset("a01")
a(0, 2) = Data1.Recordset("a02")
a(1, 0) = Data1.Recordset("a10")
a(1, 1) = Data1.Recordset("a11")
a(1, 2) = Data1.Recordset("a12")
a(2, 0) = Data1.Recordset("a20")
a(2, 1) = Data1.Recordset("a21")
a(2, 2) = Data1.Recordset("a22")
a(3, 0) = Data1.Recordset("a30")
a(3, 1) = Data1.Recordset("a31")
a(3, 2) = Data1.Recordset("a32")
a(4, 0) = Data1.Recordset("a40")
a(4, 1) = Data1.Recordset("a41")
a(4, 2) = Data1.Recordset("a42")
a(0, 3) = Data1.Recordset("a03")
a(1, 3) = Data1.Recordset("a13")
a(2, 3) = Data1.Recordset("a23")
a(3, 3) = Data1.Recordset("a33")
a(4, 3) = Data1.Recordset("a43")
For i = 0 To 9
Command1(i).Left = b(i, 1) * 600 + 100
Command1(i).Top = b(i, 0) * 600 + 200
Next i
Label1.Caption = Label1.Caption - 1
step1 = step1 - 1

End If
End Sub

Private Sub Form_Load()
Dim i, j As Integer
step_num = 1
left_ok = False
right_ok = False
up_ok = False
down_ok = False
For i = 0 To 4
 For j = 0 To 3
   a(i, j) = 1
 Next j
Next i
a(4, 1) = 0
a(4, 2) = 0

b(0, 0) = 0
b(0, 1) = 0
b(1, 0) = 0
b(1, 1) = 1
b(2, 0) = 0
b(2, 1) = 3
b(3, 0) = 2
b(3, 1) = 0
b(4, 0) = 2
b(4, 1) = 1
b(5, 0) = 2
b(5, 1) = 3
b(6, 0) = 4
b(6, 1) = 0
b(7, 0) = 3
b(7, 1) = 1
b(8, 0) = 3
b(8, 1) = 2
b(9, 0) = 4
b(9, 1) = 3
For i = 0 To 9
Command1(i).Left = b(i, 1) * 600 + 100
Command1(i).Top = b(i, 0) * 600 + 200
Next i
Data1.RecordSource = "select * from step"
Data1.Refresh
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
Label1.Caption = Label1.Caption + 1
step1 = step1 + 1
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

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
           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
Label1.Caption = Label1.Caption + 1
step1 = step1 + 1

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

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
           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
Label1.Caption = Label1.Caption + 1
step1 = step1 + 1

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

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
           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
Label1.Caption = Label1.Caption + 1
step1 = step1 + 1

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

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
           down_ok = False
           up_ok = False
           left_ok = False
           right_ok = False

End Function

⌨️ 快捷键说明

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