mirror of
https://github.com/stevenhowes/TheEscape.git
synced 2026-05-26 15:53:26 +01:00
Tidy up, variables with proper names
This commit is contained in:
Binary file not shown.
@@ -4,22 +4,23 @@ END
|
|||||||
|
|
||||||
DEF PROC_main
|
DEF PROC_main
|
||||||
REM Current graphics buffer
|
REM Current graphics buffer
|
||||||
DIM SCR 0
|
DIM Scr% 0
|
||||||
|
|
||||||
REM Player location
|
DIM PlayerLocation%(1)
|
||||||
LOCATIONX=0
|
PlayerLocation%(0) = 800
|
||||||
LOCATIONY=0
|
PlayerLocation%(1) = 100
|
||||||
|
PlayerVelocity%=0
|
||||||
|
PlayerShields%=100
|
||||||
|
PlayerStructuralIntegrity%=100
|
||||||
|
XMovePerCent%=5
|
||||||
|
|
||||||
REM Player ship attributes
|
REM Show/hide debug display
|
||||||
VELOCITY=0
|
DebugOut%=0
|
||||||
SHIELDS=100
|
|
||||||
STRUCTURALINTEGRITY=100
|
|
||||||
XPERCENT=5
|
|
||||||
|
|
||||||
REM Used for centiseconds per frame calcs
|
REM Used for centiseconds per frame calcs
|
||||||
CENTS = TIME
|
Cents% = TIME
|
||||||
|
|
||||||
REM 800x600 GFX Area 1600x1200
|
REM 800x600x256 GFX Area 1600x1200
|
||||||
MODE 32
|
MODE 32
|
||||||
|
|
||||||
REM Sprite set
|
REM Sprite set
|
||||||
@@ -27,69 +28,100 @@ DEF PROC_main
|
|||||||
|
|
||||||
REPEAT
|
REPEAT
|
||||||
REM Store current time and last time
|
REM Store current time and last time
|
||||||
LASTCENTS = CENTS
|
LastCents% = Cents%
|
||||||
CENTS = TIME
|
Cents% = TIME
|
||||||
|
|
||||||
REM Set grpahics buffer
|
REM Set grpahics buffer to one that's not in use
|
||||||
SYS "OS_Byte",112,SCR
|
SYS "OS_Byte",112,Scr%
|
||||||
|
|
||||||
KEY = INKEY(0)
|
|
||||||
|
|
||||||
IF KEY = 100 THEN
|
|
||||||
LOCATIONX = LOCATIONX + (XPERCENT * (CENTS - LASTCENTS))
|
|
||||||
ENDIF
|
|
||||||
IF KEY = 97 THEN
|
|
||||||
LOCATIONX = LOCATIONX - (XPERCENT * (CENTS - LASTCENTS))
|
|
||||||
ENDIF
|
|
||||||
|
|
||||||
CLS
|
|
||||||
|
|
||||||
SYS "OS_SpriteOp",34+256,sprite_area%,"lcars",0,940,0
|
|
||||||
|
|
||||||
|
|
||||||
REM PRINT "X: " + STR$(LOCATIONX)
|
|
||||||
REM IF KEY <> -1 THEN
|
|
||||||
REM PRINT "Key: " + STR$(KEY)
|
|
||||||
REM ELSE
|
|
||||||
REM PRINT "Key:"
|
|
||||||
REM ENDIF
|
|
||||||
REM PRINT "CPF: " + STR$(CENTS - LASTCENTS)
|
|
||||||
|
|
||||||
|
CLS
|
||||||
|
|
||||||
SYS "OS_SpriteOp",34+256,sprite_area%,"player_ship",LOCATIONX,0,0
|
REM Draw LCARS in top left
|
||||||
|
PROCdraw_sprite("lcars",0,940)
|
||||||
|
|
||||||
VDU 5
|
IF DebugOut% = 1 THEN
|
||||||
|
PROCdebugoutput
|
||||||
|
ENDIF
|
||||||
|
|
||||||
GCOL 0,0
|
REM Handle Key inputs
|
||||||
MOVE 75,1150
|
PROCinputs
|
||||||
PRINT "Sheilds"
|
|
||||||
MOVE 75,1120
|
|
||||||
PRINT "Integrity"
|
|
||||||
MOVE 75,1090
|
|
||||||
PRINT "Velocity"
|
|
||||||
|
|
||||||
GCOL 0,7
|
REM Use graphics cursor for text (TODO: Is this needed in loop?_)
|
||||||
MOVE 130,1150
|
VDU 5
|
||||||
PRINT SHIELDS
|
|
||||||
MOVE 130,1120
|
|
||||||
PRINT STRUCTURALINTEGRITY
|
|
||||||
MOVE 130,1090
|
|
||||||
PRINT VELOCITY
|
|
||||||
|
|
||||||
WAIT
|
GCOL 0,0
|
||||||
|
MOVE 75,1150
|
||||||
|
PRINT "Sheilds"
|
||||||
|
MOVE 75,1120
|
||||||
|
PRINT "Integrity"
|
||||||
|
MOVE 75,1090
|
||||||
|
PRINT "Velocity"
|
||||||
|
|
||||||
SYS "OS_Byte",113,SCR
|
GCOL 0,7
|
||||||
|
MOVE 130,1150
|
||||||
|
PRINT PlayerShields%
|
||||||
|
MOVE 130,1120
|
||||||
|
PRINT PlayerStructuralIntegrity%
|
||||||
|
MOVE 130,1090
|
||||||
|
PRINT PlayerVelocity%
|
||||||
|
|
||||||
IF SCR=0 THEN SCR=1 ELSE SCR=0
|
REM Draw player ship
|
||||||
|
PROCdraw_sprite("player_ship",PlayerLocation%(0),PlayerLocation%(1))
|
||||||
|
|
||||||
|
REM Wait for rendering to complete
|
||||||
|
WAIT
|
||||||
|
|
||||||
|
REM Display edited buffer
|
||||||
|
SYS "OS_Byte",113,Scr%
|
||||||
|
|
||||||
|
REM Switch draw buffer
|
||||||
|
IF Scr%=0 THEN Scr%=1 ELSE Scr%=0
|
||||||
|
|
||||||
UNTIL FALSE
|
UNTIL FALSE
|
||||||
|
|
||||||
ENDPROC
|
ENDPROC
|
||||||
|
|
||||||
|
REM Input handling
|
||||||
|
DEF PROCinputs
|
||||||
|
REM TODO: Scan individual keys so we can handle specials (e.g. arrows)
|
||||||
|
KEY = INKEY(0)
|
||||||
|
|
||||||
|
IF KEY = 100 THEN
|
||||||
|
PlayerLocation%(0) = PlayerLocation%(0) + (XMovePerCent% * (Cents% - LastCents%))
|
||||||
|
ENDIF
|
||||||
|
IF KEY = 97 THEN
|
||||||
|
PlayerLocation%(0) = PlayerLocation%(0) - (XMovePerCent% * (Cents% - LastCents%))
|
||||||
|
ENDIF
|
||||||
|
IF KEY = 113 THEN
|
||||||
|
IF DebugOut% = 1 THEN DebugOut% = 0 ELSE DebugOut% = 1
|
||||||
|
ENDIF
|
||||||
|
ENDPROC
|
||||||
|
|
||||||
|
REM Debug prints
|
||||||
|
DEF PROCdebugoutput
|
||||||
|
MOVE 0,500
|
||||||
|
PRINT "X: " + STR$(PlayerLocation%(0)) " Y: " STR$(PlayerLocation%(1))
|
||||||
|
IF KEY <> -1 THEN
|
||||||
|
PRINT "Key: " + STR$(KEY)
|
||||||
|
ELSE
|
||||||
|
PRINT "Key:"
|
||||||
|
ENDIF
|
||||||
|
PRINT "CPF: " + STR$(Cents% - LastCents%)
|
||||||
|
ENDPROC
|
||||||
|
|
||||||
|
REM Delay routine - thanks Sophie
|
||||||
DEF PROCdelay(n)
|
DEF PROCdelay(n)
|
||||||
T%=TIME+n:REPEAT UNTIL TIME > T%
|
T%=TIME+n:REPEAT UNTIL TIME > T%
|
||||||
ENDPROC
|
ENDPROC
|
||||||
|
|
||||||
|
REM Shorthand for sprite drawing SWI
|
||||||
|
DEF PROCdraw_sprite(name$,x%,y%)
|
||||||
|
SYS "OS_SpriteOp",34+256,sprite_area%,name$,x%,y%,0
|
||||||
|
ENDPROC
|
||||||
|
|
||||||
|
REM Loads sprite file - stolen off a forum somewhere
|
||||||
DEF FNload_sprites(sprite_file$)
|
DEF FNload_sprites(sprite_file$)
|
||||||
LOCAL length%, area_ptr%
|
LOCAL length%, area_ptr%
|
||||||
SYS "OS_File",13,sprite_file$ TO ,,,,length%
|
SYS "OS_File",13,sprite_file$ TO ,,,,length%
|
||||||
|
|||||||
Binary file not shown.
Reference in New Issue
Block a user