BlockData(RoundBlock - 2 * Row10 + 1) = 0 Then CloseMe = False Case -2 '''''''''''''''''''''''''''''''''''''''''''''''''' If BlockData(RoundBlock - Row10 - 2) = 0 And _ BlockData(RoundBlock - Row10 - 1) = 0 And _ BlockData(RoundBlock - 2 * Row10 - 2) = 0 And _ BlockData(RoundBlock - 2 * Row10 - 1) = 0 Then CloseMe = False Case 2 If BlockData(RoundBlock + Row10 + 2) = 0 And _ BlockData(RoundBlock + Row10 + 1) = 0 And _ BlockData(RoundBlock + 2 * Row10 + 2) = 0 And _ BlockData(RoundBlock + 2 * Row10 + 1) = 0 Then CloseMe = False Case 2 * Row10 If BlockData(RoundBlock + Row10 - 2) = 0 And _ BlockData(RoundBlock + Row10 - 1) = 0 And _ BlockData(RoundBlock + 2 * Row10 - 2) = 0 And _ BlockData(RoundBlock + 2 * Row10 - 1) = 0 Then CloseMe = False End Select End Function Public Sub EMAIL_ME() ShellExecute Form1.hwnd, vbNullString, "Mailto:
[email protected]", vbNullString, "c:\", SW_SHOWNORMAL End Sub Public Function CheckAvailable() As Boolean Dim tmp(0 To 3) As Integer, i As Integer, j As Integer For i = 0 To 3 tmp(i) = Form2.combosetting(i).ListIndex Next '''''''''''''''''''''''''''''''''''''''''''''' For i = 0 To 3 For j = i + 1 To 3 If tmp(j) = tmp(i) Then Exit Function End If Next Next CheckAvailable = True End Function Public Function CheckMovable(ByVal MoveType As Integer) As Boolean Dim rtn As Boolean, i As Integer, j As Integer, k As Integer, tmp As Integer Dim tempArray(1 To 4) As Integer, tempArray1(1 To 4) As Integer rtn = False For i = 1 To 4 tempArray1(i) = 30 ''''''''''''''''''''???????????? Next ''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' ''''''''''''''''''''''''''在最顶端不能变形!!!!!!'''''''''''''' Dim BlockTop As Integer BlockTop = Row10 * 5 ''''''''''''''''''''''''''在最顶端不能变形!!!!!!'''''''''''''' Select Case MoveType '''''''''''''''''''''''''''''''''''''''''''''''''左移 Case vbMoveLeft For i = 1 To 4 If (MovingBlock(i) Mod Row10 = 0) Or MovingBlock(i) < BlockTop Then Exit For '''''''''''是否达到最左边 Next If i = 5 Then For i = 1 To 4 tempArray(i) = MovingBlock(i) - 1 Next For i = 1 To 4 If Not IsThisDataInArray(tempArray(i)) Then '''''''''''''是在正在移动的吗 If BlockData(tempArray(i)) <> 0 Then Exit For ''''''''''''''''已经有了 End If Next If i = 5 Then rtn = True End If Case vbMoveRight ''''''''''''''''''''''''''''''''''''''''''''''''''右移 For i = 1 To 4 If (MovingBlock(i) Mod Row10 = Row10 - 1) Or MovingBlock(i) < BlockTop Then Exit For '''''''''''是否达到最最边 Next If i = 5 Then For i = 1 To 4 tempArray(i) = MovingBlock(i) + 1 Next For i = 1 To 4 If Not IsThisDataInArray(tempArray(i)) Then '''''''''''''是在正在移动的吗 If BlockData(tempArray(i)) <> 0 Then Exit For ''''''''''''''''已经有了 End If Next If i = 5 Then rtn = True End If Case vbMoveDown ''''''''''''''''''''''''''''''''''''''''''''''''''下移 For i = 1 To 4 If (MovingBlock(i) \ Row10 = Col20 - 1) Then Exit For '''''''''''是否达到最下面 Next If i = 5 Then For i = 1 To 4 tempArray(i) = MovingBlock(i) + Row10