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

📄 operator.cls

📁 this game is programmed by visual basic language,please check it,thank you very much!
💻 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
If record.get_records_value(x, y + 3) = 0 And record.get_records_value(x + 1, y + 3) = 0 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 + -