?? operator.cls
字號:
VERSION 1.0 CLASS
BEGIN
MultiUse = -1 'True
Persistable = 0 'NotPersistable
DataBindingBehavior = 0 'vbNone
DataSourceBehavior = 0 'vbNone
MTSTransactionMode = 0 'NotAnMTSObject
END
Attribute VB_Name = "operator"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = True
Attribute VB_PredeclaredId = False
Attribute VB_Exposed = False
'方向鍵,變形鍵的判斷處理
Public module_type As Integer
Public module_top_x As Integer
Public module_top_y As Integer
Public module_color_type As Integer '用于給down_move傳遞變量
'按下向下鍵引起的變化
Public Sub down_key(x As Integer, y As Integer, type1 As Integer, color_type As Integer, record As records)
module_color_type = color_type
Dim i As Integer
Dim terminuscheck As New terminus_check
For i = x To record.height_number - 1
If terminuscheck.terminus_check(i, y, type1, record) = 1 Then
Exit For
End If
Next i
If i = record.height_number Then
x = i - 1
Else
x = i
End If
give_value type1, x, y
End Sub
'方塊轉移到新位置,變成新類型而為新方塊賦位置,類型
Private Sub give_value(type1 As Integer, x As Integer, y As Integer)
module_type = type1
module_top_x = x
module_top_y = y
End Sub
'按下變形鍵引起的變化
Public Sub change_key(x As Integer, y As Integer, type1 As Integer, color_type As Integer, record As records)
module_top_x = x
module_top_y = y
module_type = type1
module_color_type = color_type
'防止該鍵無效時,傳遞于down_move.cls的值為原值
Select Case type1
Case 1:
If y - 1 >= 0 Then
If record.get_records_value(x + 1, y - 1) = 0 And record.get_records_value(x + 2, y - 1) = 0 And record.get_records_value(x, y + 1) = 0 And record.get_records_value(x + 2, y + 1) = 0 Then
give_value 2, x + 1, y - 1
End If
End If
Case 2:
If x - 1 >= 0 Then
If record.get_records_value(x - 1, y + 1) = 0 And record.get_records_value(x - 1, y) = 0 And record.get_records_value(x + 1, y) = 0 And record.get_records_value(x + 1, y + 2) = 0 Then
give_value 3, x - 1, y + 1
End If
End If
Case 3:
If y + 1 <= record.width_number - 1 Then
If record.get_records_value(x + 1, y + 1) = 0 And record.get_records_value(x + 2, y - 1) = 0 And record.get_records_value(x, y - 1) = 0 And record.get_records_value(x, y + 1) = 0 Then
give_value 4, x, y
End If
End If
Case 4:
If x + 2 <= record.height_number - 1 Then
If record.get_records_value(x + 2, y) = 0 And record.get_records_value(x, y - 1) = 0 And record.get_records_value(x, y + 1) = 0 And record.get_records_value(x + 2, y + 1) = 0 Then
give_value 1, x, y
End If
End If
Case 5:
If y + 1 <= record.width_number - 1 Then
If record.get_records_value(x + 2, y) = 0 And record.get_records_value(x + 2, y + 1) = 0 And record.get_records_value(x, y + 1) = 0 And record.get_records_value(x + 1, y + 1) = 0 Then
give_value 6, x + 1, y - 1
End If
End If
Case 6:
If x - 1 >= 0 Then
If record.get_records_value(x + 1, y) = 0 And record.get_records_value(x - 1, y + 1) = 0 And record.get_records_value(x - 1, y) = 0 Then
give_value 5, x - 1, y + 1
End If
End If
Case 7:
If y - 1 >= 0 Then
If record.get_records_value(x + 2, y) = 0 And record.get_records_value(x + 2, y - 1) = 0 And record.get_records_value(x, y + 1) = 0 Then
give_value 8, x + 1, y
End If
End If
Case 8:
If x - 1 >= 0 Then
If record.get_records_value(x - 1, y) = 0 And record.get_records_value(x + 1, y + 1) = 0 And record.get_records_value(x, y - 1) = 0 Then
give_value 7, x - 1, y
End If
End If
Case 9:
If y - 1 >= 0 Then
If record.get_records_value(x, y - 1) = 0 And record.get_records_value(x + 1, y + 1) = 0 And record.get_records_value(x + 1, y - 1) = 0 And record.get_records_value(x + 2, y - 1) = 0 Then
give_value 10, x, y - 1
End If
End If
Case 10:
If x - 1 >= 0 Then
If record.get_records_value(x + 1, y + 1) = 0 And record.get_records_value(x - 1, y + 2) = 0 And record.get_records_value(x - 1, y) = 0 And record.get_records_value(x - 1, y + 1) = 0 Then
give_value 11, x - 1, y + 2
End If
End If
Case 11:
If y + 1 <= record.width_number - 1 Then
If record.get_records_value(x + 1, y - 1) = 0 And record.get_records_value(x + 2, y + 1) = 0 And record.get_records_value(x, y + 1) = 0 And record.get_records_value(x + 1, y + 1) = 0 Then
give_value 12, x + 1, y - 1
End If
End If
Case 12:
If x + 2 <= record.height_number - 1 Then
If record.get_records_value(x, y + 1) = 0 And record.get_records_value(x + 2, y) = 0 And record.get_records_value(x + 2, y + 1) = 0 And record.get_records_value(x + 2, y + 2) = 0 Then
give_value 9, x, y
End If
End If
Case 13:
If y - 1 >= 0 Then
If record.get_records_value(x + 1, y - 1) = 0 And record.get_records_value(x + 1, y) = 0 And record.get_records_value(x + 2, y) = 0 And record.get_records_value(x + 2, y - 1) = 0 Then
give_value 14, x, y + 1
End If
End If
Case 14:
If x - 1 >= 0 Then
If record.get_records_value(x - 1, y - 1) = 0 And record.get_records_value(x, y - 1) = 0 And record.get_records_value(x - 1, y - 2) = 0 And record.get_records_value(x, y - 2) = 0 Then
give_value 15, x - 1, y - 1
End If
End If
Case 15:
If y + 2 <= record.width_number - 1 Then
If record.get_records_value(x + 1, y + 1) = 0 And record.get_records_value(x + 1, y + 2) = 0 And record.get_records_value(x, y + 1) = 0 And record.get_records_value(x, y + 2) = 0 Then
give_value 16, x + 1, y
End If
End If
Case 16:
If x + 2 <= record.height_number - 1 Then
If record.get_records_value(x + 1, y + 1) = 0 And record.get_records_value(x + 2, y + 1) = 0 And record.get_records_value(x + 1, y + 2) = 0 And record.get_records_value(x + 2, y + 2) = 0 Then
give_value 13, x, y
End If
End If
'case 17 變形不變
Case 18:
If y + 3 <= record.width_number - 1 Then
If record.get_records_value(x, y + 1) = 0 And record.get_records_value(x, y + 2) = 0 And record.get_records_value(x, y + 3) = 0 Then
If record.get_records_value(x + 1, y + 1) = 0 And record.get_records_value(x + 1, y + 2) = 0 And record.get_records_value(x + 1, y + 3) = 0 And record.get_records_value(x + 2, y + 1) = 0 And record.get_records_value(x + 2, y + 2) = 0 And record.get_records_value(x + 3, y + 1) = 0 Then
give_value 19, x, y
End If
End If
End If
Case 19:
If x + 3 <= record.height_number - 1 Then
If record.get_records_value(x + 1, y) = 0 And record.get_records_value(x + 2, y) = 0 And record.get_records_value(x + 3, y) = 0 Then
If record.get_records_value(x + 1, y + 1) = 0 And record.get_records_value(x + 1, y + 2) = 0 And record.get_records_value(x + 1, y + 3) = 0 And record.get_records_value(x + 2, y + 1) = 0 And record.get_records_value(x + 2, y + 2) = 0 And record.get_records_value(x + 3, y + 1) = 0 Then
give_value 18, x, y
End If
End If
End If
'case 20 變形不變
End Select
End Sub
'按下向左鍵引起的變化
Public Sub left_key(x As Integer, y As Integer, type1 As Integer, color_type As Integer, record As records)
module_top_x = x
module_top_y = y
module_type = type1
module_color_type = color_type
'防止該鍵無效時,傳遞于down_move.cls的值為原值
Select Case type1
Case 1:
If y - 1 >= 0 Then
If record.get_records_value(x, y - 1) = 0 And record.get_records_value(x + 1, y - 1) = 0 And record.get_records_value(x + 2, y - 1) = 0 Then
give_value 1, x, y - 1
End If
End If
Case 2:
If y - 1 >= 0 Then
If record.get_records_value(x, y - 1) = 0 And record.get_records_value(x + 1, y) = 0 Then
give_value 2, x, y - 1
End If
End If
Case 3:
If y - 2 >= 0 Then
If record.get_records_value(x, y - 1) = 0 And record.get_records_value(x + 1, y - 2) = 0 And record.get_records_value(x + 2, y - 1) = 0 Then
give_value 3, x, y - 1
End If
End If
Case 4:
If y - 2 >= 0 Then
If record.get_records_value(x, y - 1) = 0 And record.get_records_value(x + 1, y - 2) = 0 Then
give_value 4, x, y - 1
End If
End If
Case 5:
If y - 2 >= 0 Then
If record.get_records_value(x, y - 1) = 0 And record.get_records_value(x + 1, y - 2) = 0 And record.get_records_value(x + 2, y - 2) = 0 Then
give_value 5, x, y - 1
End If
End If
Case 6:
If y - 1 >= 0 Then
If record.get_records_value(x, y - 1) = 0 And record.get_records_value(x + 1, y) = 0 Then
give_value 6, x, y - 1
End If
End If
Case 7:
If y - 1 >= 0 Then
If record.get_records_value(x, y - 1) = 0 And record.get_records_value(x + 1, y - 1) = 0 And record.get_records_value(x + 2, y) = 0 Then
give_value 7, x, y - 1
End If
End If
Case 8:
If y - 2 >= 0 Then
If record.get_records_value(x, y - 1) = 0 And record.get_records_value(x + 1, y - 2) = 0 Then
give_value 8, x, y - 1
End If
End If
Case 9:
If y - 1 >= 0 Then
If record.get_records_value(x, y - 1) = 0 And record.get_records_value(x + 1, y - 1) = 0 And record.get_records_value(x + 2, y - 1) = 0 Then
give_value 9, x, y - 1
End If
End If
Case 10:
If y - 1 >= 0 Then
If record.get_records_value(x, y - 1) = 0 And record.get_records_value(x + 1, y + 1) = 0 Then
give_value 10, x, y - 1
End If
End If
Case 11:
If y - 2 >= 0 Then
If record.get_records_value(x, y - 1) = 0 And record.get_records_value(x + 1, y - 1) = 0 And record.get_records_value(x + 2, y - 2) = 0 Then
give_value 11, x, y - 1
End If
End If
Case 12:
If y - 1 >= 0 Then
If record.get_records_value(x, y - 1) = 0 And record.get_records_value(x + 1, y - 1) = 0 Then
give_value 12, x, y - 1
End If
End If
Case 13:
If y - 1 >= 0 Then
If record.get_records_value(x, y - 1) = 0 And record.get_records_value(x + 1, y) = 0 And record.get_records_value(x + 2, y) = 0 Then
give_value 13, x, y - 1
End If
End If
Case 14:
If y - 3 >= 0 Then
If record.get_records_value(x, y - 1) = 0 And record.get_records_value(x + 1, y - 3) = 0 Then
give_value 14, x, y - 1
End If
End If
Case 15:
If y - 1 >= 0 Then
If record.get_records_value(x, y - 1) = 0 And record.get_records_value(x + 1, y - 1) = 0 And record.get_records_value(x + 2, y - 1) = 0 Then
give_value 15, x, y - 1
End If
End If
Case 16:
If y - 1 >= 0 Then
If record.get_records_value(x, y - 1) = 0 And record.get_records_value(x + 1, y - 1) = 0 Then
give_value 16, x, y - 1
End If
End If
Case 17:
If y - 1 >= 0 Then
If record.get_records_value(x, y - 1) = 0 And record.get_records_value(x + 1, y - 1) = 0 Then
give_value 17, x, y - 1
End If
End If
Case 18:
If y - 1 >= 0 Then
If record.get_records_value(x, y - 1) = 0 And record.get_records_value(x + 1, y - 1) = 0 And record.get_records_value(x + 2, y - 1) = 0 And record.get_records_value(x + 3, y - 1) = 0 Then
give_value 18, x, y - 1
End If
End If
Case 19:
If y - 1 >= 0 Then
If record.get_records_value(x, y - 1) = 0 Then
give_value 19, x, y - 1
End If
End If
Case 20:
If y - 1 >= 0 Then
If record.get_records_value(x, y - 1) = 0 Then
give_value 20, x, y - 1
End If
End If
End Select
End Sub
'按下向右鍵引起的變化
Public Sub right_key(x As Integer, y As Integer, type1 As Integer, color_type As Integer, record As records)
module_top_x = x
module_top_y = y
module_type = type1
module_color_type = color_type
'防止該鍵無效時,傳遞于down_move.cls的值為原值
Select Case type1
Case 1:
If y + 2 <= record.width_number - 1 Then
If record.get_records_value(x, y + 1) = 0 And record.get_records_value(x + 1, y + 2) = 0 And record.get_records_value(x + 2, y + 1) = 0 Then
give_value 1, x, y + 1
End If
End If
Case 2:
If y + 3 <= record.width_number - 1 Then
If record.get_records_value(x, y + 3) = 0 And record.get_records_value(x + 1, y + 2) = 0 Then
give_value 2, x, y + 1
End If
End If
Case 3:
If y + 1 <= record.width_number - 1 Then
If record.get_records_value(x, y + 1) = 0 And record.get_records_value(x + 1, y + 1) = 0 And record.get_records_value(x + 2, y + 1) = 0 Then
give_value 3, x, y + 1
End If
End If
Case 4:
If y + 2 <= record.width_number - 1 Then
If record.get_records_value(x, y + 1) = 0 And record.get_records_value(x + 1, y + 2) = 0 Then
give_value 4, x, y + 1
End If
End If
Case 5:
If y + 1 <= record.width_number - 1 Then
If record.get_records_value(x, y + 1) = 0 And record.get_records_value(x + 1, y + 1) = 0 And record.get_records_value(x + 2, y) = 0 Then
give_value 5, x, y + 1
End If
End If
Case 6:
If y + 3 <= record.width_number - 1 Then
If record.get_records_value(x, y + 2) = 0 And record.get_records_value(x + 1, y + 3) = 0 Then
give_value 6, x, y + 1
End If
End If
Case 7:
If y + 2 <= record.width_number - 1 Then
If record.get_records_value(x, y + 1) = 0 And record.get_records_value(x + 1, y + 2) = 0 And record.get_records_value(x + 2, y + 2) = 0 Then
give_value 7, x, y + 1
End If
End If
Case 8:
If y + 2 <= record.width_number - 1 Then
If record.get_records_value(x, y + 2) = 0 And record.get_records_value(x + 1, y + 1) = 0 Then
give_value 8, x, y + 1
End If
End If
Case 9:
If y + 2 <= record.width_number - 1 Then
If record.get_records_value(x, y + 2) = 0 And record.get_records_value(x + 1, y + 1) = 0 And record.get_records_value(x + 2, y + 1) = 0 Then
give_value 9, x, y + 1
End If
End If
Case 10:
If y + 3 <= record.width_number - 1 Then
give_value 10, x, y + 1
End If
End If
Case 11:
If y + 1 <= record.width_number - 1 Then
If record.get_records_value(x, y + 1) = 0 And record.get_records_value(x + 1, y + 1) = 0 And record.get_records_value(x + 2, y + 1) = 0 Then
give_value 11, x, y + 1
End If
End If
Case 12:
If y + 3 <= record.width_number - 1 Then
If record.get_records_value(x, y + 1) = 0 And record.get_records_value(x + 1, y + 3) = 0 Then
give_value 12, x, y + 1
End If
End If
Case 13:
If y + 2 <= record.width_number - 1 Then
If record.get_records_value(x, y + 2) = 0 And record.get_records_value(x + 1, y + 2) = 0 And record.get_records_value(x + 2, y + 2) = 0 Then
give_value 13, x, y + 1
End If
End If
Case 14:
If y + 1 <= record.width_number - 1 Then
If record.get_records_value(x, y + 1) = 0 And record.get_records_value(x + 1, y + 1) = 0 Then
give_value 14, x, y + 1
End If
End If
Case 15:
If y + 2 <= record.width_number - 1 Then
If record.get_records_value(x, y + 1) = 0 And record.get_records_value(x + 1, y + 1) = 0 And record.get_records_value(x + 2, y + 2) = 0 Then
give_value 15, x, y + 1
End If
End If
Case 16:
If y + 3 <= record.width_number - 1 Then
If record.get_records_value(x, y + 3) = 0 And record.get_records_value(x + 1, y + 1) = 0 Then
give_value 16, x, y + 1
End If
End If
Case 17:
If y + 2 <= record.width_number - 1 Then
If record.get_records_value(x, y + 2) = 0 And record.get_records_value(x + 1, y + 2) = 0 Then
give_value 17, x, y + 1
End If
End If
Case 18:
If y + 1 <= record.width_number - 1 Then
If record.get_records_value(x, y + 1) = 0 And record.get_records_value(x + 1, y + 1) = 0 And record.get_records_value(x + 2, y + 1) = 0 And record.get_records_value(x + 3, y + 1) = 0 Then
give_value 18, x, y + 1
End If
End If
Case 19:
If y + 4 <= record.width_number - 1 Then
If record.get_records_value(x, y + 4) = 0 Then
give_value 19, x, y + 1
End If
End If
Case 20:
If y + 1 <= record.width_number - 1 Then
If record.get_records_value(x, y + 1) = 0 Then
give_value 20, x, y + 1
End If
End If
End Select
End Sub
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -