mirror of
https://github.com/stevenhowes/TheEscape.git
synced 2026-05-26 15:53:26 +01:00
Change debug output. Display enemy health.. Space to fire. Added distance counter.
This commit is contained in:
Binary file not shown.
@@ -22,6 +22,7 @@ END
|
|||||||
|
|
||||||
DEF PROCtitle
|
DEF PROCtitle
|
||||||
CLS
|
CLS
|
||||||
|
|
||||||
PROCdraw_sprite("intro_25",320,256)
|
PROCdraw_sprite("intro_25",320,256)
|
||||||
KEY$ = GET$
|
KEY$ = GET$
|
||||||
|
|
||||||
@@ -67,9 +68,11 @@ DEF PROCfinal_gfx_setup
|
|||||||
ENDPROC
|
ENDPROC
|
||||||
|
|
||||||
DEF PROCaudio_setup
|
DEF PROCaudio_setup
|
||||||
VOICES 2
|
SOUND ON
|
||||||
|
VOICES 4
|
||||||
VOICE 1,"WaveSynth-Beep"
|
VOICE 1,"WaveSynth-Beep"
|
||||||
VOICE 2,"Percussion-Noise"
|
VOICE 2,"Percussion-Noise"
|
||||||
|
VOICE 3,"StringLib-Hard"
|
||||||
ENDPROC
|
ENDPROC
|
||||||
|
|
||||||
DEF PROCmain_scene1
|
DEF PROCmain_scene1
|
||||||
@@ -84,6 +87,7 @@ DEF PROCmain_scene1
|
|||||||
PlayerStructuralIntegrity%=100
|
PlayerStructuralIntegrity%=100
|
||||||
PlayerSprite$ = "player_ship"
|
PlayerSprite$ = "player_ship"
|
||||||
PlayerExplodeNextFrame% = 0
|
PlayerExplodeNextFrame% = 0
|
||||||
|
PlayerRemainingDistance% = 1500000
|
||||||
DIM PlayerHitbox%(3)
|
DIM PlayerHitbox%(3)
|
||||||
PlayerHitbox%() = 0,0,60,81
|
PlayerHitbox%() = 0,0,60,81
|
||||||
DieEnd% = 0
|
DieEnd% = 0
|
||||||
@@ -92,9 +96,12 @@ DEF PROCmain_scene1
|
|||||||
PlayerPhaserOffset%(0,Y) = 75
|
PlayerPhaserOffset%(0,Y) = 75
|
||||||
PlayerPhaserOffset%(1,X) = 40
|
PlayerPhaserOffset%(1,X) = 40
|
||||||
PlayerPhaserOffset%(1,Y) = 75
|
PlayerPhaserOffset%(1,Y) = 75
|
||||||
|
PlayerPhaserDamagePerSecond% = 2
|
||||||
|
|
||||||
LeftID% = -1
|
LeftID% = -1
|
||||||
RightID% = -1
|
RightID% = -1
|
||||||
|
LeftFiring% = 0
|
||||||
|
RightFiring% = 0
|
||||||
|
|
||||||
DIM EnemyHitbox%(1,3)
|
DIM EnemyHitbox%(1,3)
|
||||||
EnemyHitbox%(0,0) = 0
|
EnemyHitbox%(0,0) = 0
|
||||||
@@ -137,6 +144,8 @@ DEF PROCmain_scene1
|
|||||||
|
|
||||||
REM Controls
|
REM Controls
|
||||||
|
|
||||||
|
PlayerRemainingDistance% = PlayerRemainingDistance% - (Cents% - LastCents%) * PlayerVelocity%
|
||||||
|
|
||||||
PROCplayer_ship_handle_damage
|
PROCplayer_ship_handle_damage
|
||||||
PROCenemy_ship_handle_damage
|
PROCenemy_ship_handle_damage
|
||||||
PROCenemy_ship_move
|
PROCenemy_ship_move
|
||||||
@@ -149,6 +158,7 @@ DEF PROCmain_scene1
|
|||||||
PROCenemy_ship_collide_player
|
PROCenemy_ship_collide_player
|
||||||
REM PROCenemy_ship_collide_npc
|
REM PROCenemy_ship_collide_npc
|
||||||
PROCplayer_arc_calculatetarget
|
PROCplayer_arc_calculatetarget
|
||||||
|
PROCplayer_weapons_damage
|
||||||
PROCspecks_move
|
PROCspecks_move
|
||||||
ENDIF
|
ENDIF
|
||||||
|
|
||||||
@@ -169,9 +179,12 @@ DEF PROCmain_scene1
|
|||||||
REM Player
|
REM Player
|
||||||
PROCplayer_ship_draw
|
PROCplayer_ship_draw
|
||||||
PROCplayer_target_draw
|
PROCplayer_target_draw
|
||||||
|
|
||||||
PROCenemy_ship_draw
|
PROCenemy_ship_draw
|
||||||
|
|
||||||
|
IF PlayerStructuralIntegrity% > 0 THEN
|
||||||
|
PROCplayer_weapons_draw
|
||||||
|
ENDIF
|
||||||
|
|
||||||
REM UI
|
REM UI
|
||||||
PROChud_draw
|
PROChud_draw
|
||||||
|
|
||||||
@@ -183,13 +196,48 @@ DEF PROCmain_scene1
|
|||||||
|
|
||||||
ENDPROC
|
ENDPROC
|
||||||
|
|
||||||
|
DEF PROCplayer_weapons_damage
|
||||||
|
IF LeftID% < 0 THEN
|
||||||
|
LeftFiring% = 0
|
||||||
|
ENDIF
|
||||||
|
IF RightID% < 0 THEN
|
||||||
|
RightFiring% = 0
|
||||||
|
ENDIF
|
||||||
|
|
||||||
|
IF LeftFiring% = 1 THEN
|
||||||
|
EnemyHealth%(LeftID%) = EnemyHealth%(LeftID%) - ((Cents% - LastCents%) * PlayerPhaserDamagePerSecond%)
|
||||||
|
ENDIF
|
||||||
|
|
||||||
|
IF RightFiring% = 1 THEN
|
||||||
|
EnemyHealth%(RightID%) = EnemyHealth%(RightID%) - ((Cents% - LastCents%) * PlayerPhaserDamagePerSecond%)
|
||||||
|
ENDIF
|
||||||
|
ENDPROC
|
||||||
|
|
||||||
|
|
||||||
|
DEF PROCplayer_weapons_draw
|
||||||
|
IF LeftID% < 0 THEN
|
||||||
|
LeftFiring% = 0
|
||||||
|
ENDIF
|
||||||
|
IF RightID% < 0 THEN
|
||||||
|
RightFiring% = 0
|
||||||
|
ENDIF
|
||||||
|
|
||||||
|
IF LeftFiring% = 1 THEN
|
||||||
|
LINE PlayerLocation%(X) + PlayerPhaserOffset%(0,X), PlayerLocation%(Y) + PlayerPhaserOffset%(0,Y), EnemyLocations%(LeftID%,X) + (EnemyHitbox%(EnemyHitboxID%(LeftID%),2)/2), EnemyLocations%(LeftID%,Y)
|
||||||
|
ENDIF
|
||||||
|
|
||||||
|
IF RightFiring% = 1 THEN
|
||||||
|
LINE PlayerLocation%(X) + PlayerPhaserOffset%(1,X), PlayerLocation%(Y) + PlayerPhaserOffset%(1,Y), EnemyLocations%(RightID%,X) + (EnemyHitbox%(EnemyHitboxID%(RightID%),2)/2), EnemyLocations%(RightID%,Y)
|
||||||
|
ENDIF
|
||||||
|
ENDPROC
|
||||||
|
|
||||||
DEF PROCplayer_ship_handle_damage
|
DEF PROCplayer_ship_handle_damage
|
||||||
IF PlayerStructuralIntegrity% <= 0 THEN
|
IF PlayerStructuralIntegrity% <= 0 THEN
|
||||||
IF TIME > PlayerExplodeNextFrame% THEN
|
IF TIME > PlayerExplodeNextFrame% THEN
|
||||||
PlayerExplodeNextFrame% = TIME + 4
|
PlayerExplodeNextFrame% = TIME + 4
|
||||||
IF PlayerSprite$ = "player_ship" THEN
|
IF PlayerSprite$ = "player_ship" THEN
|
||||||
DieEnd% = TIME + 150
|
DieEnd% = TIME + 150
|
||||||
SOUND 2,-5,0,50
|
SOUND 2,-5, 20,50
|
||||||
ENDIF
|
ENDIF
|
||||||
CASE PlayerSprite$ OF
|
CASE PlayerSprite$ OF
|
||||||
WHEN "player_ship": PlayerSprite$ = "explode_shp1"
|
WHEN "player_ship": PlayerSprite$ = "explode_shp1"
|
||||||
@@ -210,7 +258,9 @@ ENDPROC
|
|||||||
|
|
||||||
DEF PROCenemy_ship_handle_damage
|
DEF PROCenemy_ship_handle_damage
|
||||||
FOR Enemy%=0 TO MaxEnemies% - 1
|
FOR Enemy%=0 TO MaxEnemies% - 1
|
||||||
|
REM Destruction
|
||||||
IF EnemyHealth%(Enemy%) <= 0 THEN
|
IF EnemyHealth%(Enemy%) <= 0 THEN
|
||||||
|
EnemyCollidable%(Enemy%) = 0
|
||||||
IF EnemySprites$(Enemy%) = "durno_ship2" THEN
|
IF EnemySprites$(Enemy%) = "durno_ship2" THEN
|
||||||
SOUND 2,-5,0,50
|
SOUND 2,-5,0,50
|
||||||
ENDIF
|
ENDIF
|
||||||
@@ -226,6 +276,7 @@ DEF PROCenemy_ship_handle_damage
|
|||||||
ENDCASE
|
ENDCASE
|
||||||
ENDIF
|
ENDIF
|
||||||
ENDIF
|
ENDIF
|
||||||
|
|
||||||
NEXT Enemy%
|
NEXT Enemy%
|
||||||
ENDPROC
|
ENDPROC
|
||||||
|
|
||||||
@@ -236,14 +287,14 @@ DEF PROCrespawn_enemy(Enemy%)
|
|||||||
EnemyVelocity%(Enemy%,X) = 0
|
EnemyVelocity%(Enemy%,X) = 0
|
||||||
EnemyVelocity%(Enemy%,Y) = RND(3) + 2
|
EnemyVelocity%(Enemy%,Y) = RND(3) + 2
|
||||||
EnemyHitboxID%(Enemy%) = RND(2)-1
|
EnemyHitboxID%(Enemy%) = RND(2)-1
|
||||||
EnemyHealth%(Enemy%) = 100
|
EnemyHealth%(Enemy%) = 1000
|
||||||
EnemyCollidable%(Enemy%) = 1
|
EnemyCollidable%(Enemy%) = 1
|
||||||
EnemyCollideForce%(Enemy%) = 1000
|
EnemyCollideForce%(Enemy%) = 1000
|
||||||
EnemyExplodeNextFrame% = 0
|
EnemyExplodeNextFrame% = 0
|
||||||
IF EnemyHitboxID%(Enemy%) = 1 THEN
|
IF EnemyHitboxID%(Enemy%) = 1 THEN
|
||||||
EnemySprites$(Enemy%) = "durno_ship2"
|
EnemySprites$(Enemy%) = "durno_ship2"
|
||||||
EnemyVelocity%(Enemy%,X) = RND(3) - 2
|
EnemyVelocity%(Enemy%,X) = RND(3) - 2
|
||||||
EnemyVelocity%(Enemy%,Y) = RND(10) + 6
|
EnemyVelocity%(Enemy%,Y) = RND(2) + 6
|
||||||
EnemyHealth%(Enemy%) = 30
|
EnemyHealth%(Enemy%) = 30
|
||||||
EnemyCollideForce%(Enemy%) = 30
|
EnemyCollideForce%(Enemy%) = 30
|
||||||
ENDIF
|
ENDIF
|
||||||
@@ -294,6 +345,8 @@ DEF PROChud_draw
|
|||||||
PRINT "Integrity"
|
PRINT "Integrity"
|
||||||
MOVE 75,SCREENGFXHEIGHT%-110
|
MOVE 75,SCREENGFXHEIGHT%-110
|
||||||
PRINT "Velocity"
|
PRINT "Velocity"
|
||||||
|
MOVE 75,SCREENGFXHEIGHT%-140
|
||||||
|
PRINT "Distance"
|
||||||
|
|
||||||
REM Attribute values
|
REM Attribute values
|
||||||
GCOL 0,7
|
GCOL 0,7
|
||||||
@@ -303,6 +356,8 @@ DEF PROChud_draw
|
|||||||
PRINT PlayerStructuralIntegrity%
|
PRINT PlayerStructuralIntegrity%
|
||||||
MOVE 130,SCREENGFXHEIGHT%-110
|
MOVE 130,SCREENGFXHEIGHT%-110
|
||||||
PRINT PlayerVelocity%
|
PRINT PlayerVelocity%
|
||||||
|
MOVE 130,SCREENGFXHEIGHT%-140
|
||||||
|
PRINT PlayerRemainingDistance% DIV 1000
|
||||||
ENDPROC
|
ENDPROC
|
||||||
|
|
||||||
DEF PROCenemy_ship_collide_npc
|
DEF PROCenemy_ship_collide_npc
|
||||||
@@ -351,7 +406,7 @@ DEF PROCenemy_ship_collide_player
|
|||||||
MOVE x1+w1,y1+h1
|
MOVE x1+w1,y1+h1
|
||||||
IF EnemyCollidable%(Enemy%) = 1 THEN
|
IF EnemyCollidable%(Enemy%) = 1 THEN
|
||||||
PlayerVelocity% = PlayerVelocity% / 2
|
PlayerVelocity% = PlayerVelocity% / 2
|
||||||
EnemyHealth%(Enemy%) = EnemyHealth%(Enemy%) - 30
|
EnemyHealth%(Enemy%) = EnemyHealth%(Enemy%) - 300
|
||||||
PlayerStructuralIntegrity% = PlayerStructuralIntegrity% - EnemyCollideForce%(Enemy%)
|
PlayerStructuralIntegrity% = PlayerStructuralIntegrity% - EnemyCollideForce%(Enemy%)
|
||||||
EnemyCollidable%(Enemy%) = 0
|
EnemyCollidable%(Enemy%) = 0
|
||||||
EnemyVelocity%(Enemy%,Y) = EnemyVelocity%(Enemy%,Y) / 2
|
EnemyVelocity%(Enemy%,Y) = EnemyVelocity%(Enemy%,Y) / 2
|
||||||
@@ -456,6 +511,10 @@ DEF PROCinputs
|
|||||||
PlayerVelocity% = 0
|
PlayerVelocity% = 0
|
||||||
ENDIF
|
ENDIF
|
||||||
ENDIF
|
ENDIF
|
||||||
|
IF INKEY(-99) THEN
|
||||||
|
LeftFiring% = 1
|
||||||
|
RightFiring% = 1
|
||||||
|
ENDIF
|
||||||
IF INKEY(-17) THEN
|
IF INKEY(-17) THEN
|
||||||
IF DebugOut% = 0 THEN DebugOut% = 1
|
IF DebugOut% = 0 THEN DebugOut% = 1
|
||||||
ENDIF
|
ENDIF
|
||||||
@@ -468,6 +527,8 @@ DEF PROCplayer_target_draw
|
|||||||
RECT EnemyLocations%(LeftID%,X) + EnemyHitbox%(EnemyHitboxID%(LeftID%),X) - 10, EnemyLocations%(LeftID%,1) + EnemyHitbox%(EnemyHitboxID%(LeftID%),1) - 10, EnemyHitbox%(EnemyHitboxID%(LeftID%),2) + 20, EnemyHitbox%(EnemyHitboxID%(LeftID%),3) + 20
|
RECT EnemyLocations%(LeftID%,X) + EnemyHitbox%(EnemyHitboxID%(LeftID%),X) - 10, EnemyLocations%(LeftID%,1) + EnemyHitbox%(EnemyHitboxID%(LeftID%),1) - 10, EnemyHitbox%(EnemyHitboxID%(LeftID%),2) + 20, EnemyHitbox%(EnemyHitboxID%(LeftID%),3) + 20
|
||||||
|
|
||||||
RECT EnemyLocations%(LeftID%,X) + EnemyHitbox%(EnemyHitboxID%(LeftID%),X) - 8, EnemyLocations%(LeftID%,1) + EnemyHitbox%(EnemyHitboxID%(LeftID%),1) - 8, EnemyHitbox%(EnemyHitboxID%(LeftID%),2) + 16, EnemyHitbox%(EnemyHitboxID%(LeftID%),3) + 16
|
RECT EnemyLocations%(LeftID%,X) + EnemyHitbox%(EnemyHitboxID%(LeftID%),X) - 8, EnemyLocations%(LeftID%,1) + EnemyHitbox%(EnemyHitboxID%(LeftID%),1) - 8, EnemyHitbox%(EnemyHitboxID%(LeftID%),2) + 16, EnemyHitbox%(EnemyHitboxID%(LeftID%),3) + 16
|
||||||
|
MOVE EnemyLocations%(LeftID%,X), EnemyLocations%(LeftID%,Y) - 20
|
||||||
|
PRINT STR$(EnemyHealth%(LeftID%))
|
||||||
ENDIF
|
ENDIF
|
||||||
|
|
||||||
IF RightID% >= 0 THEN
|
IF RightID% >= 0 THEN
|
||||||
@@ -476,6 +537,8 @@ DEF PROCplayer_target_draw
|
|||||||
RECT EnemyLocations%(RightID%,X) + EnemyHitbox%(EnemyHitboxID%(RightID%),X) -10, EnemyLocations%(RightID%,1) + EnemyHitbox%(EnemyHitboxID%(RightID%),1) -10, EnemyHitbox%(EnemyHitboxID%(RightID%),2) +20, EnemyHitbox%(EnemyHitboxID%(RightID%),3) +20
|
RECT EnemyLocations%(RightID%,X) + EnemyHitbox%(EnemyHitboxID%(RightID%),X) -10, EnemyLocations%(RightID%,1) + EnemyHitbox%(EnemyHitboxID%(RightID%),1) -10, EnemyHitbox%(EnemyHitboxID%(RightID%),2) +20, EnemyHitbox%(EnemyHitboxID%(RightID%),3) +20
|
||||||
|
|
||||||
RECT EnemyLocations%(RightID%,X) + EnemyHitbox%(EnemyHitboxID%(RightID%),X) -8, EnemyLocations%(RightID%,1) + EnemyHitbox%(EnemyHitboxID%(RightID%),1) -8, EnemyHitbox%(EnemyHitboxID%(RightID%),2) +16, EnemyHitbox%(EnemyHitboxID%(RightID%),3) +16
|
RECT EnemyLocations%(RightID%,X) + EnemyHitbox%(EnemyHitboxID%(RightID%),X) -8, EnemyLocations%(RightID%,1) + EnemyHitbox%(EnemyHitboxID%(RightID%),1) -8, EnemyHitbox%(EnemyHitboxID%(RightID%),2) +16, EnemyHitbox%(EnemyHitboxID%(RightID%),3) +16
|
||||||
|
MOVE EnemyLocations%(RightID%,X), EnemyLocations%(RightID%,Y) - 20
|
||||||
|
PRINT STR$(EnemyHealth%(RightID%))
|
||||||
ENDIF
|
ENDIF
|
||||||
ENDPROC
|
ENDPROC
|
||||||
|
|
||||||
@@ -492,12 +555,12 @@ DEF PROCdebugoutput
|
|||||||
PRINT "X: " + STR$(PlayerLocation%(0)) " Y: " STR$(PlayerLocation%(1))
|
PRINT "X: " + STR$(PlayerLocation%(0)) " Y: " STR$(PlayerLocation%(1))
|
||||||
PRINT "CPF: " + STR$(Cents% - LastCents%)
|
PRINT "CPF: " + STR$(Cents% - LastCents%)
|
||||||
PRINT "Scr: " + STR$(Scr%)
|
PRINT "Scr: " + STR$(Scr%)
|
||||||
PRINT "Left: " + STR$(LeftID%)
|
PRINT "Left: " + STR$(LeftID%) + " - " + STR$(LeftFiring%)
|
||||||
PRINT "Right: " + STR$(RightID%)
|
PRINT "Right: " + STR$(RightID%) + " - " + STR$(RightFiring%)
|
||||||
|
|
||||||
FOR Enemy%=0 TO MaxEnemies% - 1
|
FOR Enemy%=0 TO MaxEnemies% - 1
|
||||||
PRINT "NPC:" STR$(Enemy%) + " " + FNpad(STR$(EnemyLocations%(Enemy%,X)),4) + " " + FNpad(STR$(EnemyLocations%(Enemy%,Y)),4) + " " + FNpad(STR$(EnemyVelocity%(Enemy%,X)),3) + " " + FNpad(STR$(EnemyVelocity%(Enemy%,Y)),3)
|
PRINT "NPC:" STR$(Enemy%) + ": " + FNpad(STR$(EnemyLocations%(Enemy%,X)),4) + "," + FNpad(STR$(EnemyLocations%(Enemy%,Y)),4) + " V: " + FNpad(STR$(EnemyVelocity%(Enemy%,X)),2) + "," + FNpad(STR$(EnemyVelocity%(Enemy%,Y)),2)
|
||||||
PRINT FNpad(STR$(EnemyHealth%(Enemy%)),3) + " " + EnemySprites$(Enemy%) + " " + STR$(EnemyExplodeNextFrame%)
|
PRINT "H: " + FNpad(STR$(EnemyHealth%(Enemy%)),3)
|
||||||
NEXT Enemy%
|
NEXT Enemy%
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user