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

📄 ernos.frm

📁 用vb编的游戏!
💻 FRM
📖 第 1 页 / 共 3 页
字号:
   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 + -