📄 ernos.frm
字号:
Call make(zb, zb + 1, zb + 10, zb + 11, z)
End Select
End Sub
Sub unview(ta, tb, zb, z) '消除方块 ok!
Select Case ta
Case 0
Select Case tb
Case 0, 2
Call unmake(zb - 1, zb, zb + 1, zb + 2, z)
Case 1, 3
Call unmake(zb - 10, zb, zb + 10, zb + 20, z)
End Select
Case 1
Select Case tb
Case 0
Call unmake(zb - 1, zb, zb + 1, zb + 9, z)
Case 1
Call unmake(zb - 11, zb - 10, zb, zb + 10, z)
Case 2
Call unmake(zb - 9, zb - 1, zb, zb + 1, z)
Case 3
Call unmake(zb - 10, zb, zb + 10, zb + 11, z)
End Select
Case 2
Select Case tb
Case 0
Call unmake(zb - 1, zb, zb + 1, zb + 11, z)
Case 1
Call unmake(zb - 10, zb, zb + 9, zb + 10, z)
Case 2
Call unmake(zb - 11, zb - 1, zb, zb + 1, z)
Case 3
Call unmake(zb - 10, zb - 9, zb, zb + 10, z)
End Select
Case 3
Select Case tb
Case 0, 2
Call unmake(zb - 1, zb, zb + 10, zb + 11, z)
Case 1, 3
Call unmake(zb - 10, zb - 1, zb, zb + 9, z)
End Select
Case 4
Select Case tb
Case 0, 2
Call unmake(zb, zb + 1, zb + 9, zb + 10, z)
Case 1, 3
Call unmake(zb - 11, zb - 1, zb, zb + 10, z)
End Select
Case 5
Select Case tb
Case 0
Call unmake(zb - 1, zb, zb + 1, zb + 10, z)
Case 1
Call unmake(zb - 10, zb - 1, zb, zb + 10, z)
Case 2
Call unmake(zb - 10, zb - 1, zb, zb + 1, z)
Case 3
Call unmake(zb - 10, zb, zb + 1, zb + 10, z)
End Select
Case 6
Call unmake(zb, zb + 1, zb + 10, zb + 11, z)
End Select
End Sub
Sub leftmove() '右移 ok!
If czb Mod 10 = 0 Then Exit Sub
Call unview(cta, ctb, czb, 1)
Call view(cta, ctb, czb - 1, 1)
If b = 0 Then
Call view(cta, ctb, czb, 1)
Exit Sub
Else
czb = czb - 1
End If
End Sub
Sub rightmove() '左移 ok!
If czb Mod 10 = 9 Then Exit Sub
Call unview(cta, ctb, czb, 1)
Call view(cta, ctb, czb + 1, 1)
If b = 0 Then
Call view(cta, ctb, czb, 1)
Exit Sub
Else
czb = czb + 1
End If
End Sub
Sub downmove() '下移
Dim mzcb As Integer
mzcb = Int(czb / 10)
Call unview(cta, ctb, czb, 1)
Call view(cta, ctb, czb + 10, 1)
If b = 1 Then
czb = czb + 10
Exit Sub
End If
sndPlaySound "down.wav", &H1
Call view(cta, ctb, czb, 1) '到底或结束
If mzcb <> 0 Then
Call unline(mzcb - 1)
a1 = a
End If
Call unline(mzcb)
a1 = a1 + a
If mzcb <> 17 Then
Call unline(mzcb + 1)
a1 = a1 + a
End If
If mzcb <> 16 And mzcb <> 17 Then
Call unline(mzcb + 2)
a1 = a1 + a
End If
If t = 1 Then
Dim ttt As Integer
ttt = 1
For i = 179 To 140 Step -1
If Image1(i).Visible = True And Image1(i).Picture = Image2(7).Picture Then
ttt = 0
Exit For
End If
Next i
If ttt = 1 Then '过关
sndPlaySound "win.wav", &H1
Form2.Show vbModal
If tgk < 10 Then
tgk = tgk + 1
Label2.Caption = tgk
End If
Call start
Exit Sub
End If
End If
If a1 <> 0 Then
score = score + a1 * 150 - 50
score1 = score1 + a1 * 150 - 50
Label1.Caption = score
If score1 >= 3000 Then
score1 = score1 - 3000
If Timer1.Interval > 40 Then
gk = gk + 1
Timer1.Interval = 440 - gk * 40
If t = 0 Then Label2.Caption = gk
End If
End If
For i = 0 To 9
Image1(i).Visible = False
Next i
End If
cta = bta
ctb = btb
czb = bzb
cco = bco
Call viewb
Call view(cta, ctb, czb, 1)
If a1 > 0 Then
sndPlaySound "unvis.wav", &H1
a1 = 0
End If
If b = 0 Then '结束
Timer1.Enabled = False
sndPlaySound "gameover.wav", &H1
Form4.Show vbModal
If t = 1 Then gk = 1
Exit Sub
End If
End Sub
Sub fly1() '旋转 ok!
Call unview(cta, ctb, czb, 1)
If ctb = 0 Then ctb = 4
Call view(cta, ctb - 1, czb, 1)
If b = 0 Then
If ctb = 4 Then ctb = 0
Call view(cta, ctb, czb, 1)
Exit Sub
Else
If ctb = 0 Then ctb = 4
ctb = ctb - 1
End If
End Sub
Sub unline(l) '消去
Dim l10 As Integer
l10 = l * 10
a = 0
If Image1(l10).Visible = False Then Exit Sub
If Image1(l10 + 1).Visible = False Then Exit Sub
If Image1(l10 + 2).Visible = False Then Exit Sub
If Image1(l10 + 3).Visible = False Then Exit Sub
If Image1(l10 + 4).Visible = False Then Exit Sub
If Image1(l10 + 5).Visible = False Then Exit Sub
If Image1(l10 + 6).Visible = False Then Exit Sub
If Image1(l10 + 7).Visible = False Then Exit Sub
If Image1(l10 + 8).Visible = False Then Exit Sub
If Image1(l10 + 9).Visible = False Then Exit Sub
For i = 0 To 9
Image1(l10 + i).Visible = False
Next i
For i = l10 + 9 To 10 Step -1
Image1(i).Picture = Image1(i - 10).Picture
If Image1(i - 10).Visible = True Then Image1(i).Visible = True
If Image1(i - 10).Visible = False Then Image1(i).Visible = False
Next i
a = 1
End Sub
Function first(ta, tb) As Integer '初始位置 (czb)
If ta = 6 Or tb = 0 Or ta = 0 And tb = 2 Or ta = 4 And tb = 2 Then
first = 4
Exit Function
End If
If ta = 0 Or tb <> 1 Or ta = 2 And tb <> 1 Or ta = 5 And tb <> 1 Then
first = 14
Exit Function
End If
first = 15
End Function
Private Sub Form_Unload(Cancel As Integer)
If musickey = True Then
mciExecute "close """ & App.Path & "\music.mid"""
End If
End Sub
Private Sub Image10_MouseDown(Index As Integer, Button As Integer, Shift As Integer, X As Single, Y As Single)
If Index = 0 Then
Image10(0).Picture = Image9(1).Picture
Else
Image10(1).Picture = Image9(3).Picture
End If
End Sub
Private Sub Image10_MouseUp(Index As Integer, Button As Integer, Shift As Integer, X As Single, Y As Single)
If Index = 0 Then
Image10(0).Picture = Image9(0).Picture
If t = 1 Then
If tgk < 10 Then
tgk = tgk + 1
Label2.Caption = tgk
Call start
End If
Else
If gk < 10 Then
gk = gk + 1
Label2.Caption = gk
Call start
End If
End If
Else
Image10(1).Picture = Image9(2).Picture
If t = 1 Then
If tgk > 1 Then
tgk = tgk - 1
Label2.Caption = tgk
Call start
End If
Else
If gk > 1 Then
gk = gk - 1
Label2.Caption = gk
Call start
End If
End If
End If
End Sub
Private Sub Picture2_MouseDown(Index As Integer, Button As Integer, Shift As Integer, X As Single, Y As Single)
If pause = False And Index = 5 Then Exit Sub
Picture2(Index).Left = Picture2(Index).Left + 3
Picture2(Index).Top = Picture2(Index).Top + 3
End Sub
Private Sub Picture2_MouseUp(Index As Integer, Button As Integer, Shift As Integer, X As Single, Y As Single)
Select Case Index
Case 0
Picture2(0).Left = 488
Picture2(0).Top = 96
Call start
Case 4
Picture2(4).Left = 486
Picture2(4).Top = 153
t = 0
Label2.Caption = gk
Image11(0).Top = 160
Call start
Case 3
Picture2(3).Left = 489
Picture2(3).Top = 206
t = 1
gk = 1
Label2.Caption = tgk
Image11(0).Top = 210
Call start
Case 1
Picture2(1).Left = 505
Picture2(1).Top = 317
Form5.Show vbModal
Case 2
Picture2(2).Left = 489
Picture2(2).Top = 432
Form3.Show vbModal
Case 5
If pause = True Then
Picture2(5).Left = 505
Picture2(5).Top = 373
If p = 1 Then
Image11(2).Visible = True
Timer1.Enabled = False
p = 0
Else
Image11(2).Visible = False
Timer1.Enabled = True
p = 1
End If
End If
Case 6
Picture2(6).Left = 505
Picture2(6).Top = 258
If musickey = True Then
mciExecute "close """ & App.Path & "\music.mid"""
Timer3.Enabled = False
musickey = False
musici = 1
Image11(1).Visible = False
Else
Image11(1).Visible = True
mciExecute "open """ & App.Path & "\music.mid"""
mciExecute "play """ & App.Path & "\music.mid"""
Timer3.Enabled = True
musickey = True
End If
End Select
End Sub
Private Sub Timer1_Timer()
Call downmove
End Sub
Sub viewb() '生成b
Randomize
For i = 0 To 15
Image3(i).Visible = False
Next i
bta = Int(7 * Rnd)
btb = Int(4 * Rnd)
bzb = first(bta, btb)
bco = Int(7 * Rnd)
Select Case bta
Case 0
Select Case btb
Case 0, 2
Call make(4, 5, 6, 7, 3)
Case 1, 3
Call make(1, 5, 9, 13, 3)
End Select
Case 1
Select Case btb
Case 0
Call make(5, 6, 7, 9, 3)
Case 1
Call make(5, 6, 10, 14, 3)
Case 2
Call make(6, 8, 9, 10, 3)
Case 3
Call make(1, 5, 9, 10, 3)
End Select
Case 2
Select Case btb
Case 0
Call make(4, 5, 6, 10, 3)
Case 1
Call make(2, 6, 9, 10, 3)
Case 2
Call make(5, 9, 10, 11, 3)
Case 3
Call make(5, 6, 9, 13, 3)
End Select
Case 3
Select Case btb
Case 0, 2
Call make(4, 5, 9, 10, 3)
Case 1, 3
Call make(2, 5, 6, 9, 3)
End Select
Case 4
Select Case btb
Case 0, 2
Call make(5, 6, 8, 9, 3)
Case 1, 3
Call make(1, 5, 6, 10, 3)
End Select
Case 5
Select Case btb
Case 0
Call make(4, 5, 6, 9, 3)
Case 1
Call make(2, 5, 6, 10, 3)
Case 2
Call make(5, 8, 9, 10, 3)
Case 3
Call make(1, 5, 6, 9, 3)
End Select
Case 6
Call make(5, 6, 9, 10, 3)
End Select
End Sub
Sub tt(m)
Image1(m).Picture = Image2(7).Picture
Image1(m).Visible = True
End Sub
Private Sub Timer2_Timer() '多媒体
For i = 0 To 1
If TransImg1(i).Left = -640 Then TransImg1(i).Left = 640
TransImg1(i).Left = TransImg1(i).Left - 1
Next i
End Sub
Private Sub Timer3_Timer()
musici = musici + 1
If musici = 360 Then
mciExecute "close """ & App.Path & "\music.mid"""
musici = 1
mciExecute "open """ & App.Path & "\music.mid"""
mciExecute "play """ & App.Path & "\music.mid"""
End If
End Sub
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -