Tidy up, variables with proper names

This commit is contained in:
stevenhowes
2021-01-30 21:35:23 +00:00
parent 58c1561d0a
commit 300c6a2009
3 changed files with 86 additions and 54 deletions
Binary file not shown.
+86 -54
View File
@@ -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.