📄 levels.bas
字号:
Attribute VB_Name = "Levels"
Public Declare Function sndPlaySound Lib "winmm.dll" Alias "sndPlaySoundA" (ByVal lpszSoundName As String, ByVal uFlags As Long) As Long
Public Declare Function SendMessage Lib "user32" Alias "SendMessageA" (ByVal hWnd As Long, ByVal wMsg As Long, ByVal wParam As Long, lParam As Any) As Long
Public Declare Function ReleaseCapture Lib "user32" () As Long
Public Const WM_MOVE = &HF012
Public Const WM_SYSCOMMAND = &H112
Public Const SND_ASYNC = &H1
Public Const SND_NODEFAULT = &H2
Public Const SND_FLAG = SND_ASYNC Or SND_NODEFAULT
Public Slowed As Boolean
Public Hovering As Boolean
Public Protected As Boolean
Public StartingOffClean As Boolean
Public NumberOfEnemies As Integer
Public NumFlames As Integer
Public BombCount As Integer
Public EnemyCount As Integer
Public CurrLevel As Integer
Public PlayerScore As Integer
Public CurrLives As Integer
Function ResetPups()
'so u can get powerups again:
frmMain.SpeedUp.Visible = False
frmMain.DeathPills.Visible = False
frmMain.Slow.Visible = False
frmMain.Hover.Visible = False
frmMain.TI.Visible = False
frmMain.BiggerBomb.Visible = False
frmMain.ExtraBomb.Visible = False
frmMain.Heart.Visible = False
frmMain.EnemyFreeze.Visible = False
frmMain.SpeedUp.Top = -200
frmMain.DeathPills.Top = -200
frmMain.Slow.Top = -200
frmMain.Hover.Top = -200
frmMain.TI.Top = -200
frmMain.BiggerBomb.Top = -200
frmMain.ExtraBomb.Top = -200
frmMain.Heart.Top = -200
frmMain.EnemyFreeze.Top = -200
End Function
Public Sub PlayWav(WavFile As String)
Dim SafeFile As String
SafeFile$ = Dir(WavFile$)
If SafeFile$ <> "" Then
Call sndPlaySound(WavFile$, SND_FLAG)
End If
End Sub
Public Sub FormDrag(TheForm As Form)
Call ReleaseCapture
Call SendMessage(TheForm.hWnd, WM_SYSCOMMAND, WM_MOVE, 0)
End Sub
Public Sub Pause(interval As Integer)
Current = Timer
Do While Timer - Current < Val(interval)
DoEvents
Loop
End Sub
Public Sub LoadLevel(Level As Integer)
If JustLostGame = False Then
'resest all things to default:
frmMain.Bman.Picture = frmMain.BmanDown.Picture 'default
frmMain.BManRemains.Visible = False 'clean up his bodily remains
Hovering = False
Slowed = False
frmMain.DelayTimer.interval = 120
'NumFlames = 8
EnemyCount = NumberOfEnemies + 1
frmMain.tmrStartingOff.Enabled = True
frmMain.Bman.Top = 360
frmMain.Bman.Left = 360
For po = 0 To NumberOfEnemies
frmMain.Enemy(po).Tag = "" 'clear tags so the enemies move again
Next po
ResetPups
Else
ResetPups
For i = 0 To NumberOfEnemies
frmMain.Enemy(i).Tag = "" 'clear tags if u lose so the enemies move again
Next i
CurrLives = 5 'reset lives
End If
If Level = 1 Then Load1
If Level = 2 Then Load2
If Level = 3 Then Load3
If Level = 4 Then Load4
If Level = 5 Then Load5
If Level = 6 Then Load6
If Level = 7 Then Load7
If Level = 8 Then Load8
If Level = 9 Then Load9
If Level = 10 Then Load10
End Sub
Sub Load1()
frmMain.EnemyMover.interval = 600
frmMain.Rock(0).Top = 1440
frmMain.Rock(0).Left = 2160
frmMain.Rock(1).Top = 1440
frmMain.Rock(1).Left = 720
frmMain.Rock(2).Top = 1080
frmMain.Rock(2).Left = 720
frmMain.Rock(3).Top = 3600
frmMain.Rock(3).Left = 720
frmMain.Rock(4).Top = 360
frmMain.Rock(4).Left = 3600
frmMain.Rock(5).Top = 3600
frmMain.Rock(5).Left = 4680
frmMain.Rock(6).Top = 4320
frmMain.Rock(6).Left = 1440
frmMain.Rock(7).Top = 3960
frmMain.Rock(7).Left = 5400
frmMain.Rock(8).Top = 720
frmMain.Rock(8).Left = 4680
frmMain.Rock(9).Top = 1080
frmMain.Rock(9).Left = 1800
frmMain.Rock(10).Top = 4680
frmMain.Rock(10).Left = 5400
frmMain.Rock(11).Top = 4320
frmMain.Rock(11).Left = 4680
frmMain.Rock(12).Top = 2880
frmMain.Rock(12).Left = 2160
frmMain.Rock(13).Top = 720
frmMain.Rock(13).Left = 1080
frmMain.Rock(14).Top = 1080
frmMain.Rock(14).Left = 4320
frmMain.Rock(15).Top = 4320
frmMain.Rock(15).Left = 720
frmMain.Rock(16).Top = 2160
frmMain.Rock(16).Left = 720
frmMain.Rock(17).Top = 1080
frmMain.Rock(17).Left = 5040
frmMain.Rock(18).Top = 2880
frmMain.Rock(18).Left = 1440
frmMain.Rock(19).Top = 1440
frmMain.Rock(19).Left = 1440
frmMain.Rock(20).Top = 1440
frmMain.Rock(20).Left = 2880
frmMain.Rock(21).Top = 5040
frmMain.Rock(21).Left = 720
frmMain.Rock(22).Top = 3960
frmMain.Rock(22).Left = 2520
frmMain.Rock(23).Top = 2160
frmMain.Rock(23).Left = 1440
frmMain.Rock(24).Top = 720
frmMain.Rock(24).Left = 2880
frmMain.Rock(25).Top = 3600
frmMain.Rock(25).Left = 2160
frmMain.Rock(26).Top = 5040
frmMain.Rock(26).Left = 3960
frmMain.Rock(27).Top = 2880
frmMain.Rock(27).Left = 720
frmMain.Rock(28).Top = 2880
frmMain.Rock(28).Left = 2880
frmMain.Rock(29).Top = 5040
frmMain.Rock(29).Left = 2880
frmMain.Rock(30).Top = 2520
frmMain.Rock(30).Left = 4320
frmMain.Rock(31).Top = 3600
frmMain.Rock(31).Left = 3960
frmMain.Rock(32).Top = 3600
frmMain.Rock(32).Left = 5400
frmMain.Rock(33).Top = 1800
frmMain.Rock(33).Left = 5040
frmMain.Rock(34).Top = 4680
frmMain.Rock(34).Left = 2160
frmMain.Rock(35).Top = 5040
frmMain.Rock(35).Left = 2160
frmMain.Rock(36).Top = 3600
frmMain.Rock(36).Left = 2880
frmMain.Rock(37).Top = 1440
frmMain.Rock(37).Left = 3960
frmMain.Rock(38).Top = 2160
frmMain.Rock(38).Left = 2880
frmMain.Rock(39).Top = 2160
frmMain.Rock(39).Left = 2160
frmMain.Rock(40).Top = 1440
frmMain.Rock(40).Left = 5400
frmMain.Rock(41).Top = 4320
frmMain.Rock(41).Left = 3960
frmMain.Rock(42).Top = 4320
frmMain.Rock(42).Left = 5400
frmMain.Rock(43).Top = 3600
frmMain.Rock(43).Left = 5040
frmMain.Rock(44).Top = 3600
frmMain.Rock(44).Left = 1440
frmMain.Rock(45).Top = 3600
frmMain.Rock(45).Left = 4320
frmMain.Rock(46).Top = 4320
frmMain.Rock(46).Left = 4320
frmMain.Rock(47).Top = 4680
frmMain.Rock(47).Left = 4680
frmMain.Rock(48).Top = 4320
frmMain.Rock(48).Left = 2880
frmMain.Rock(49).Top = 720
frmMain.Rock(49).Left = 4320
frmMain.Rock(50).Top = 720
frmMain.Rock(50).Left = 3600
frmMain.Weak(0).Top = 1080
frmMain.Weak(0).Left = 1080
frmMain.Weak(1).Top = 3240
frmMain.Weak(1).Left = 2160
frmMain.Weak(2).Top = 1080
frmMain.Weak(2).Left = 3240
frmMain.Weak(3).Top = 2160
frmMain.Weak(3).Left = 4680
frmMain.Weak(4).Top = 3600
frmMain.Weak(4).Left = 3240
frmMain.Weak(5).Top = 2160
frmMain.Weak(5).Left = 4320
frmMain.Weak(6).Top = 3960
frmMain.Weak(6).Left = 360
frmMain.Weak(7).Top = 2160
frmMain.Weak(7).Left = 3240
frmMain.Weak(8).Top = 2880
frmMain.Weak(8).Left = 3600
frmMain.Weak(9).Top = 2880
frmMain.Weak(9).Left = 3960
frmMain.Weak(10).Top = 3240
frmMain.Weak(10).Left = 3240
frmMain.Weak(11).Top = 1080
frmMain.Weak(11).Left = 3600
frmMain.Weak(12).Top = 360
frmMain.Weak(12).Left = 1080
frmMain.Weak(13).Top = 720
frmMain.Weak(13).Left = 3960
frmMain.Weak(14).Top = 1440
frmMain.Weak(14).Left = 4320
frmMain.Weak(15).Top = 4320
frmMain.Weak(15).Left = 2520
frmMain.Weak(16).Top = 5040
frmMain.Weak(16).Left = 4320
frmMain.Weak(17).Top = 2160
frmMain.Weak(17).Left = 3960
frmMain.Weak(18).Top = 360
frmMain.Weak(18).Left = 3240
frmMain.Weak(19).Top = 1440
frmMain.Weak(19).Left = 3600
frmMain.Weak(20).Top = 4680
frmMain.Weak(20).Left = 3600
frmMain.Weak(21).Top = 360
frmMain.Weak(21).Left = 3960
frmMain.Weak(22).Top = 2520
frmMain.Weak(22).Left = 2160
frmMain.Weak(23).Top = 3240
frmMain.Weak(23).Left = 4320
frmMain.Weak(24).Top = 3960
frmMain.Weak(24).Left = 1080
frmMain.Weak(25).Top = 2520
frmMain.Weak(25).Left = 1440
frmMain.Weak(26).Top = 4320
frmMain.Weak(26).Left = 3240
frmMain.Weak(27).Top = 2880
frmMain.Weak(27).Left = 3240
frmMain.Weak(28).Top = 2880
frmMain.Weak(28).Left = 4320
frmMain.Weak(29).Top = 1440
frmMain.Weak(29).Left = 2520
frmMain.Weak(30).Top = 2520
frmMain.Weak(30).Left = 3600
frmMain.Weak(31).Top = 3240
frmMain.Weak(31).Left = 5040
frmMain.Weak(32).Top = 3960
frmMain.Weak(32).Left = 3600
frmMain.Weak(33).Top = 3600
frmMain.Weak(33).Left = 3600
frmMain.Weak(34).Top = 5040
frmMain.Weak(34).Left = 3600
frmMain.Weak(35).Top = 1080
frmMain.Weak(35).Left = 360
frmMain.Weak(36).Top = 1800
frmMain.Weak(36).Left = 4320
frmMain.Weak(37).Top = 1440
frmMain.Weak(37).Left = 3240
frmMain.Weak(38).Top = 4320
frmMain.Weak(38).Left = 1800
frmMain.Weak(39).Top = 2880
frmMain.Weak(39).Left = 5400
frmMain.Weak(40).Top = 4680
frmMain.Weak(40).Left = 4320
frmMain.Weak(41).Top = 1080
frmMain.Weak(41).Left = 3960
frmMain.Weak(42).Top = 720
frmMain.Weak(42).Left = 2520
frmMain.Weak(43).Top = 1800
frmMain.Weak(43).Left = 1080
frmMain.Weak(44).Top = 4320
frmMain.Weak(44).Left = 5040
frmMain.Weak(45).Top = 3240
frmMain.Weak(45).Left = 1080
frmMain.Weak(46).Top = 2160
frmMain.Weak(46).Left = 2520
frmMain.Weak(47).Top = 4680
frmMain.Weak(47).Left = 3240
frmMain.Enemy(0).Top = 1080
frmMain.Enemy(0).Left = 5400
frmMain.Enemy(1).Top = 2520
frmMain.Enemy(1).Left = 360
frmMain.Enemy(2).Top = 3960
frmMain.Enemy(2).Left = 3960
frmMain.Enemy(3).Top = 3960
frmMain.Enemy(3).Left = 2880
frmMain.Enemy(4).Top = 3600
frmMain.Enemy(4).Left = 1800
frmMain.Enemy(5).Top = 2880
frmMain.Enemy(5).Left = 4680
frmMain.Enemy(6).Top = 4320
frmMain.Enemy(6).Left = 1080
frmMain.Enemy(7).Top = 2520
frmMain.Enemy(7).Left = 2520
frmMain.Stairs.Left = 5400
frmMain.Stairs.Top = 2880
End Sub
Sub Load2()
frmMain.EnemyMover.interval = 500
frmMain.Rock(0).Top = 1440
frmMain.Rock(0).Left = 2160
frmMain.Rock(1).Top = 1080
frmMain.Rock(1).Left = 1800
frmMain.Rock(2).Top = 1080
frmMain.Rock(2).Left = 720
frmMain.Rock(3).Top = 1080
frmMain.Rock(3).Left = 1080
frmMain.Rock(4).Top = 1080
frmMain.Rock(4).Left = 3600
frmMain.Rock(5).Top = 1800
frmMain.Rock(5).Left = 4320
frmMain.Rock(6).Top = 2160
frmMain.Rock(6).Left = 3240
frmMain.Rock(7).Top = 3960
frmMain.Rock(7).Left = 720
frmMain.Rock(8).Top = 720
frmMain.Rock(8).Left = 4680
frmMain.Rock(9).Top = 1080
frmMain.Rock(9).Left = 1440
frmMain.Rock(10).Top = 2160
frmMain.Rock(10).Left = 3600
frmMain.Rock(11).Top = 2520
frmMain.Rock(11).Left = 2880
frmMain.Rock(12).Top = 1080
frmMain.Rock(12).Left = 360
frmMain.Rock(13).Top = 1440
frmMain.Rock(13).Left = 3240
frmMain.Rock(14).Top = 2880
frmMain.Rock(14).Left = 1800
frmMain.Rock(15).Top = 2880
frmMain.Rock(15).Left = 2520
frmMain.Rock(16).Top = 2160
frmMain.Rock(16).Left = 720
frmMain.Rock(17).Top = 1080
frmMain.Rock(17).Left = 4680
frmMain.Rock(18).Top = 2880
frmMain.Rock(18).Left = 1440
frmMain.Rock(19).Top = 1800
frmMain.Rock(19).Left = 3960
frmMain.Rock(20).Top = 1440
frmMain.Rock(20).Left = 2880
frmMain.Rock(21).Top = 4680
frmMain.Rock(21).Left = 1800
frmMain.Rock(22).Top = 2160
frmMain.Rock(22).Left = 1800
frmMain.Rock(23).Top = 2160
frmMain.Rock(23).Left = 1440
frmMain.Rock(24).Top = 2160
frmMain.Rock(24).Left = 1080
frmMain.Rock(25).Top = 360
frmMain.Rock(25).Left = 1080
frmMain.Rock(26).Top = 1800
frmMain.Rock(26).Left = 1080
frmMain.Rock(27).Top = 2880
frmMain.Rock(27).Left = 720
frmMain.Rock(28).Top = 1440
frmMain.Rock(28).Left = 2520
frmMain.Rock(29).Top = 2160
frmMain.Rock(29).Left = 2520
frmMain.Rock(30).Top = 1800
frmMain.Rock(30).Left = 5400
frmMain.Rock(31).Top = 4680
frmMain.Rock(31).Left = 2520
frmMain.Rock(32).Top = 3960
frmMain.Rock(32).Left = 1080
frmMain.Rock(33).Top = 1800
frmMain.Rock(33).Left = 5040
frmMain.Rock(34).Top = 3960
frmMain.Rock(34).Left = 1800
frmMain.Rock(35).Top = 3960
frmMain.Rock(35).Left = 2160
frmMain.Rock(36).Top = 3240
frmMain.Rock(36).Left = 2880
frmMain.Rock(37).Top = 720
frmMain.Rock(37).Left = 3960
frmMain.Rock(38).Top = 2160
frmMain.Rock(38).Left = 2880
frmMain.Rock(39).Top = 2160
frmMain.Rock(39).Left = 2160
frmMain.Rock(40).Top = 3600
frmMain.Rock(40).Left = 2520
frmMain.Rock(41).Top = 4680
frmMain.Rock(41).Left = 1080
frmMain.Rock(42).Top = 1800
frmMain.Rock(42).Left = 4680
frmMain.Rock(43).Top = 1440
frmMain.Rock(43).Left = 1800
frmMain.Rock(44).Top = 3960
frmMain.Rock(44).Left = 1440
frmMain.Rock(45).Top = 2880
frmMain.Rock(45).Left = 360
frmMain.Rock(46).Top = 4680
frmMain.Rock(46).Left = 360
frmMain.Rock(47).Top = 2880
frmMain.Rock(47).Left = 5040
frmMain.Rock(48).Top = 2880
frmMain.Rock(48).Left = 1080
frmMain.Rock(49).Top = 720
frmMain.Rock(49).Left = 4320
frmMain.Rock(50).Top = 720
frmMain.Rock(50).Left = 3600
frmMain.Weak(0).Top = 4320
frmMain.Weak(0).Left = 2880
frmMain.Weak(1).Top = 5040
frmMain.Weak(1).Left = 1440
frmMain.Weak(2).Top = 1080
frmMain.Weak(2).Left = 3240
frmMain.Weak(3).Top = 360
frmMain.Weak(3).Left = 5040
frmMain.Weak(4).Top = 720
frmMain.Weak(4).Left = 1080
frmMain.Weak(5).Top = 2160
frmMain.Weak(5).Left = 5400
frmMain.Weak(6).Top = 4680
frmMain.Weak(6).Left = 4680
frmMain.Weak(7).Top = 2520
frmMain.Weak(7).Left = 720
frmMain.Weak(8).Top = 1080
frmMain.Weak(8).Left = 4320
frmMain.Weak(9).Top = 1440
frmMain.Weak(9).Left = 4680
frmMain.Weak(10).Top = 4320
frmMain.Weak(10).Left = 2160
frmMain.Weak(11).Top = 360
frmMain.Weak(11).Left = 3600
frmMain.Weak(12).Top = 3240
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -