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
REM Current graphics buffer
DIM SCR 0
DIM Scr% 0
REM Player location
LOCATIONX=0
LOCATIONY=0
DIM PlayerLocation%(1)
PlayerLocation%(0) = 800
PlayerLocation%(1) = 100
PlayerVelocity%=0
PlayerShields%=100
PlayerStructuralIntegrity%=100
XMovePerCent%=5
REM Player ship attributes
VELOCITY=0
SHIELDS=100
STRUCTURALINTEGRITY=100
XPERCENT=5
REM Show/hide debug display
DebugOut%=0
REM Used for centiseconds per frame calcs
CENTS = TIME
Cents% = TIME
REM 800x600 GFX Area 1600x1200
REM 800x600x256 GFX Area 1600x1200
MODE 32
REM Sprite set
@@ -27,69 +28,100 @@ DEF PROC_main
REPEAT
REM Store current time and last time
LASTCENTS = CENTS
CENTS = TIME
LastCents% = Cents%
Cents% = TIME
REM Set grpahics buffer
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 Set grpahics buffer to one that's not in use
SYS "OS_Byte",112,Scr%
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
MOVE 75,1150
PRINT "Sheilds"
MOVE 75,1120
PRINT "Integrity"
MOVE 75,1090
PRINT "Velocity"
REM Handle Key inputs
PROCinputs
GCOL 0,7
MOVE 130,1150
PRINT SHIELDS
MOVE 130,1120
PRINT STRUCTURALINTEGRITY
MOVE 130,1090
PRINT VELOCITY
REM Use graphics cursor for text (TODO: Is this needed in loop?_)
VDU 5
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
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)
T%=TIME+n:REPEAT UNTIL TIME > T%
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$)
LOCAL length%, area_ptr%
SYS "OS_File",13,sprite_file$ TO ,,,,length%
Binary file not shown.