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

📄 game.frm

📁 Billing Internet Cafe
💻 FRM
📖 第 1 页 / 共 2 页
字号:
Private Sub Form_KeyPress(KeyAscii As Integer)
If KeyAscii = 13 Then
frmcheat.Visible = True
End If
End Sub
Private Sub Form_KeyUp(KeyCode As Integer, Shift As Integer)
    Select Case KeyCode
        Case vbKeySpace
            SpaceIsPressed = False
    End Select
End Sub

Private Sub Form_Load()
    Dim i As Integer
    StartBullet = 1                 'start counter for bullets
    Lives = 3                       'starting number of lives
    gX = Me.imgRapFire.Left         'position of your plane
    gY = Me.imgRapFire.Top
    For i = 1 To MaxBadGuys         'position of the bad guys
        BadX(i) = Rnd * Me.Width
        BadY(i) = Rnd * Me.Height
    Next
    Me.DrawStyle = 0
    Me.FillStyle = 0
    Me.FillColor = vbGreen
    Me.Shields = 4000
End Sub

Private Sub Form_MouseDown(Button As Integer, Shift As Integer, x As Single, Y As Single)
    SpaceIsPressed = True
End Sub

Private Sub Form_MouseMove(Button As Integer, Shift As Integer, x As Single, Y As Single)
    MouseX = x
    MouseY = Y
End Sub

Private Sub Form_MouseUp(Button As Integer, Shift As Integer, x As Single, Y As Single)
    SpaceIsPressed = False
End Sub

Private Sub Form_Unload(Cancel As Integer)
Unload Me
End Sub

Private Sub Timer1_Timer()
    Dim i As Integer    'counter
    Dim J As Integer    'counter
    Dim TempX As Long
    Dim TempY As Long
    Me.Cls
        If MouseX > gX Then XV = XV + 10
    If MouseX < gX Then XV = XV - 10
    If MouseY > gY Then YV = YV + 10
    If MouseY < gY Then YV = YV - 10

    If XV > MaxAccel Then XV = MaxAccel
    If -XV > MaxAccel Then XV = -MaxAccel
    If YV > MaxAccel Then YV = MaxAccel
    If -YV > MaxAccel Then YV = -MaxAccel
    
    gX = gX + XV
    gY = gY + YV
    
    If gX < 0 Then gX = 0: XV = 0
    If gY < 0 Then gY = 0: YV = 0
    If gX > Me.Width - Me.imgRap.Width Then gX = Me.Width - Me.imgRap.Width: XV = 0
    If gY > Me.Height - Me.imgRap.Height Then gY = Me.Height - Me.imgRap.Height: YV = 0
    
    Backy = Backy + 25
    If Backy > Me.imgBackGround.Height Then Backy = 0
    For i = 1 To Me.Width Step Me.imgBackGround.Width
        For J = -(Me.imgBackGround.Height) To Me.Height Step Me.imgBackGround.Height
            Me.PaintPicture Me.imgBackGround.Picture, i, J + Backy
        Next
    Next
    
    If SpaceIsPressed And FireToggle = True Then
        CurrBullet = CurrBullet + 1
        If CurrBullet > MaxBullets Then CurrBullet = 1: StartBullet = 1
        BulletX(CurrBullet) = gX
        BulletY(CurrBullet) = gY
        Me.PaintPicture Me.imgRapFireMask.Picture, gX, gY, , , , , , , vbSrcAnd
        Me.PaintPicture Me.imgRapFire.Picture, gX, gY, , , , , , , vbSrcPaint
        FireToggle = False
    Else
        Me.PaintPicture Me.imgRapMask.Picture, gX, gY, , , , , , , vbSrcAnd
        Me.PaintPicture Me.imgRap.Picture, gX, gY, , , , , , , vbSrcPaint
        FireToggle = True
    End If
    For i = StartBullet To MaxBullets
        BulletY(i) = BulletY(i) - 125
        If BulletY(i) > 0 Then
            If BulletToggle = True Then
          
                Me.PaintPicture Me.imgBullet1.Picture, BulletX(i) + Me.imgBullet1.Width, BulletY(i), , , , , , , vbSrcAnd
                Me.PaintPicture Me.imgBullet2.Picture, BulletX(i) + Me.imgBullet1.Width, BulletY(i), , , , , , , vbSrcPaint
                Me.PaintPicture Me.imgBullet1.Picture, BulletX(i) + Me.imgRap.Width - Me.imgBullet1.Width, BulletY(i), , , , , , , vbSrcAnd
                Me.PaintPicture Me.imgBullet2.Picture, BulletX(i) + Me.imgRap.Width - Me.imgBullet1.Width, BulletY(i), , , , , , , vbSrcPaint
                BulletToggle = False
            Else
                Me.PaintPicture Me.imgBullet2.Picture, BulletX(i) + Me.imgBullet1.Width, BulletY(i), , , , , , , vbSrcAnd
                Me.PaintPicture Me.imgBullet1.Picture, BulletX(i) + Me.imgBullet1.Width, BulletY(i), , , , , , , vbSrcPaint
                Me.PaintPicture Me.imgBullet2.Picture, BulletX(i) + Me.imgRap.Width - Me.imgBullet1.Width, BulletY(i), , , , , , , vbSrcAnd
                Me.PaintPicture Me.imgBullet1.Picture, BulletX(i) + Me.imgRap.Width - Me.imgBullet1.Width, BulletY(i), , , , , , , vbSrcPaint
    
                BulletToggle = True
            End If
            For J = 1 To MaxBadGuys
                If BulletY(i) > BadY(J) And BulletY(i) < (BadY(J) + Me.imgBadGuy.Height) And BulletY(i) > 0 Then
                    If BulletX(i) > BadX(J) - Me.imgRap.Width And BulletX(i) < (BadX(J) + Me.imgBadGuy.Width) Then
                        Me.PaintPicture Me.imgExplodeMask.Picture, BadX(J), BadY(J), , , , , , , vbSrcAnd
                        Me.PaintPicture Me.imgExplode.Picture, BadX(J), BadY(J), , , , , , , vbSrcPaint
                        BadY(J) = -(Me.imgBadGuy.Height)
                        BadX(J) = Rnd * Me.Width
                        BulletY(i) = -100
                        If BeginGame = True Then Score = Score + 100
                    End If
                End If
            Next
        End If
    Next

    
    For i = 1 To MaxBadGuys
        EFireCount = EFireCount + 1
        BadY(i) = BadY(i) + EnemySpeed
        If BadX(i) > gX Then BadX(i) = BadX(i) - 25
        If BadX(i) < gX Then BadX(i) = BadX(i) + 25
        If BadY(i) > Me.Height Then BadY(i) = -Me.imgBadGuy.Height: BadX(i) = Rnd * Me.Width
        If BadY(i) < Me.Height Then
            Me.PaintPicture Me.imgBadGuyMask, BadX(i), BadY(i), , , , , , , vbSrcAnd
            Me.PaintPicture Me.imgBadGuy, BadX(i), BadY(i), , , , , , , vbSrcPaint
        End If
        If EFireCount > (EnemyFireInterval + Rnd * 100) Then
            BCurrBullet = BCurrBullet + 1: EFireCount = 1
            If BCurrBullet > MaxEnemyBullets Then BCurrBullet = 1
            BBulletX(BCurrBullet) = BadX(i) + Me.imgBadGuy.Width / 2 - Me.imgBBullet.Width / 2
            BBulletY(BCurrBullet) = BadY(i)
        End If
        If BeginGame = True Then
            If BadY(i) + Me.imgBadGuy.Height > gY And BadY(i) < gY + Me.imgRap.Height Then
                If BadX(i) + Me.imgBadGuy.Width > gX And BadX(i) < gX + Me.imgRap.Width Then
                    Shields = Shields - 400
                    For J = 1 To 100
                        TempX = BadX(i) + Rnd * Me.imgBadGuy.Width
                        TempY = BadY(i) + Rnd * Me.imgBadGuy.Height
                        Me.PaintPicture Me.imgExplodeMask, TempX, TempY, , , , , , , vbSrcAnd
                        Me.PaintPicture Me.imgExplode, TempX, TempY, , , , , , , vbSrcPaint
                    Next
                    If Shields <= 0 Then
                        Lives = Lives - 1
                        For J = 1 To 250
                            TempX = gX + Rnd * Me.imgRap.Width
                            TempY = gY + Rnd * Me.imgRap.Height
                            Me.PaintPicture Me.imgExplodeMask, TempX, TempY, , , , , , , vbSrcAnd
                            Me.PaintPicture Me.imgExplode, TempX, TempY, , , , , , , vbSrcPaint
                        Next
                        If Lives = -1 Then
                            Me.Timer1.interval = 0
                            Me.FontSize = 32
                            Me.CurrentX = Me.Width / 2 - Me.TextWidth("GAME OVER") / 2
                            Me.CurrentY = Me.Height / 2 - 2000
                            Me.Print "GAME OVER"
                            Me.FontSize = 28
                            Me.Print ""
                            Me.CurrentX = Me.Width / 2 - Me.TextWidth("Press F2 To Start Over") / 2
                            Me.Print "Press F2 To Start Over"
                        End If
                        
                        Shields = 4000
                    End If
                    BadY(i) = Me.Height
                End If
            End If
        End If
    Next
        For i = 1 To MaxEnemyBullets
        BBulletY(i) = BBulletY(i) + EnemySpeed + 25
        If BBulletX(i) > gX Then BBulletX(i) = BBulletX(i) - 25
        If BBulletX(i) < gX Then BBulletX(i) = BBulletX(i) + 25
        If BBulletY(i) < Me.Height Then
            If BeginGame = True Then
                If BBulletY(i) < gY + Me.imgRap.Height And BBulletY(i) > gY Then
                    If BBulletX(i) < gX + Me.imgRap.Width And BBulletX(i) > gX Then
                        Shields = Shields - 100
                        If Shields <= 0 Then
                            Lives = Lives - 1
                            For J = 1 To 250
                                TempX = gX + Rnd * Me.imgRap.Width
                                TempY = gY + Rnd * Me.imgRap.Height
                                Me.PaintPicture Me.imgExplodeMask, TempX, TempY, , , , , , , vbSrcAnd
                                Me.PaintPicture Me.imgExplode, TempX, TempY, , , , , , , vbSrcPaint
                            Next
                            If Lives = -1 Then
                                Me.Timer1.interval = 0
                                Me.FontSize = 32
                                Me.CurrentX = Me.Width / 2 - Me.TextWidth("GAME OVER") / 2
                                Me.CurrentY = Me.Height / 2 - 2000
                                Me.Print "GAME OVER"
                                Me.FontSize = 28
                                Me.Print ""
                                Me.CurrentX = Me.Width / 2 - Me.TextWidth("Press F2 To Start Over") / 2
                                Me.Print "Press F2 To Start Over"
                            End If
                            
                            Shields = 4000
                        End If
                        Me.PaintPicture Me.imgExplodeMask, BBulletX(i), BBulletY(i), , , , , , , vbSrcAnd
                        Me.PaintPicture Me.imgExplode, BBulletX(i), BBulletY(i), , , , , , , vbSrcPaint
                        BBulletY(i) = Me.Height
                    End If
                End If
            End If
            Me.PaintPicture Me.imgBBulletMask, BBulletX(i), BBulletY(i), , , , , , , vbSrcAnd
            Me.PaintPicture Me.imgBBullet, BBulletX(i), BBulletY(i), , , , , , , vbSrcPaint
        End If
    Next
    
    For i = 1 To Lives
        Me.PaintPicture Me.imgSmallRapMask.Picture, 100 + (i * (Me.imgSmallRap.Width + 25)), 400, , , , , , , vbSrcAnd
        Me.PaintPicture Me.imgSmallRap.Picture, 100 + (i * (Me.imgSmallRap.Width + 25)), 400, , , , , , , vbSrcPaint
    Next
        If BeginGame = False Then
        Me.FontSize = 16
        Me.CurrentX = Me.Width / 2 - Me.TextWidth("BLacK PeaRL Space Impact") / 2
        Me.CurrentY = Me.Height / 2 - 2000
        Me.Print "BLacK PeaRL Space Impact"
        Me.CurrentX = Me.Width / 2 - Me.TextWidth("Tekan Spasi Untuk Memulai Game") / 2
        Me.Print "ekan Spasi Untuk Memulai Game"
        Me.CurrentX = Me.Width / 2 - Me.TextWidth("Gunakan Mouse kamu untuk mengontrol Kapal") / 2
        Me.Print "Gunakan Mouse kamu untuk mengontrol Kapal"
        Me.CurrentX = Me.Width / 2 - Me.TextWidth("Klik Kanan/Kiri Untuk Menembak Musuh") / 2
        Me.Print "Klik Kanan/Kiri Untuk Menembak Musuh"
    End If
    
    Me.Line (100, (Me.Height - 1000) - Shields)-(300, Me.Height - 1000), vbRed, B
    
    Me.FontSize = 12
    Me.CurrentX = 100
    Me.CurrentY = 100
    Me.Print "Score: " & Score
    Me.CurrentX = Me.Width - 2500
    Me.CurrentY = Me.Height - 800
    Me.Print "BLacK PeaRL Game "
    
    'if the user has paused then show the word in the center of the screen
    If Me.Timer1.interval = 0 And Lives >= 0 Then
        Me.FontSize = 28
        Me.CurrentX = Me.Width / 2 - Me.TextWidth("Paused") / 2
        Me.CurrentY = Me.Height / 2 - 2000
        Me.Print "Paused"
    End If
    
End Sub

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -