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.
+70 -38
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,37 +28,27 @@ 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
REM Set grpahics buffer to one that's not in use
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 Draw LCARS in top left
PROCdraw_sprite("lcars",0,940)
IF DebugOut% = 1 THEN
PROCdebugoutput
ENDIF
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)
SYS "OS_SpriteOp",34+256,sprite_area%,"player_ship",LOCATIONX,0,0
REM Handle Key inputs
PROCinputs
REM Use graphics cursor for text (TODO: Is this needed in loop?_)
VDU 5
GCOL 0,0
@@ -70,26 +61,67 @@ REM PRINT "CPF: " + STR$(CENTS - LASTCENTS)
GCOL 0,7
MOVE 130,1150
PRINT SHIELDS
PRINT PlayerShields%
MOVE 130,1120
PRINT STRUCTURALINTEGRITY
PRINT PlayerStructuralIntegrity%
MOVE 130,1090
PRINT VELOCITY
PRINT PlayerVelocity%
REM Draw player ship
PROCdraw_sprite("player_ship",PlayerLocation%(0),PlayerLocation%(1))
REM Wait for rendering to complete
WAIT
SYS "OS_Byte",113,SCR
REM Display edited buffer
SYS "OS_Byte",113,Scr%
IF SCR=0 THEN SCR=1 ELSE SCR=0
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.