Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- REM Sprite graphics demo
- REM $INCLUDE PFONT5X6.BAS
- SCREEN 13
- 1 DATA 00, 00, 14, 14, 14, 14, 14, 00, 00
- 2 DATA 00, 14, 14, 14, 14, 14, 14, 14, 00
- 3 DATA 14, 14, 14, 14, 14, 14, 14, 14, 14
- 4 DATA 14, 14, 14, 14, 14, 14, 14, 14, 14
- 5 DATA 14, 14, 00, 14, 14, 14, 00, 14, 14
- 6 DATA 14, 14, 00, 14, 14, 14, 00, 14, 14
- 7 DATA 14, 14, 14, 14, 00, 14, 14, 14, 14
- 8 DATA 14, 14, 14, 14, 00, 14, 14, 14, 14
- 9 DATA 14, 14, 14, 14, 00, 14, 14, 14, 14
- 10 DATA 14, 14, 14, 14, 14, 14, 14, 14, 14
- 11 DATA 14, 14, 00, 00, 00, 00, 00, 14, 14
- 12 DATA 14, 14, 14, 14, 14, 14, 14, 14, 14
- 13 DATA 00, 14, 14, 14, 14, 14, 14, 14, 00
- 14 DATA 00, 00, 14, 14, 14, 14, 14, 00, 00
- LET X% = 150 ' x-coordinate
- LET Y% = 75 ' y-coordinate
- LET S% = 1 ' speed in pixels-per-stroke
- REM DRAW:
- FOR YOFF% = 1 TO 14
- FOR XOFF% = 1 TO 9
- READ Z%
- PSET (XOFF% + X%, YOFF% + Y%), Z%
- NEXT
- NEXT
- REM WRITE SPEED text:
- LET XBASE% = 275
- LET YBASE% = 185
- RESTORE 119
- FOR YOFF% = 1 TO 6
- FOR XOFF% = 1 TO 5
- READ Z%
- PSET (XOFF% + XBASE% + 0, YOFF% + YBASE%), Z%
- NEXT
- NEXT
- RESTORE 116
- FOR YOFF% = 1 TO 6
- FOR XOFF% = 1 TO 5
- READ Z%
- PSET (XOFF% + XBASE% + 6, YOFF% + YBASE%), Z%
- NEXT
- NEXT
- RESTORE 105
- FOR YOFF% = 1 TO 6
- FOR XOFF% = 1 TO 5
- READ Z%
- PSET (XOFF% + XBASE% + 12, YOFF% + YBASE%), Z%
- NEXT
- NEXT
- RESTORE 105
- FOR YOFF% = 1 TO 6
- FOR XOFF% = 1 TO 5
- READ Z%
- PSET (XOFF% + XBASE% + 18, YOFF% + YBASE%), Z%
- NEXT
- NEXT
- RESTORE 104
- FOR YOFF% = 1 TO 6
- FOR XOFF% = 1 TO 5
- READ Z%
- PSET (XOFF% + XBASE% + 24, YOFF% + YBASE%), Z%
- NEXT
- NEXT
- RESTORE 201
- FOR YOFF% = 1 TO 6
- FOR XOFF% = 1 TO 5
- READ Z%
- PSET (XOFF% + XBASE% + 36, YOFF% + YBASE%), Z%
- NEXT
- NEXT
- RESTORE 1
- REM
- DO
- 15 LET KEY$ = INKEY$
- IF KEY$ = "" GOTO 15
- IF ASC(KEY$) = 27 GOTO 16
- REM FUNCTION keys control the speed.
- IF ASC(KEY$) = 0 THEN
- LET C% = ASC(RIGHT$(KEY$, 1))
- IF C% > 58 AND C% < 68 THEN
- LET S% = C% - 58
- IF C% = 59 THEN
- RESTORE 201
- ELSEIF C% = 60 THEN
- RESTORE 202
- ELSEIF C% = 61 THEN
- RESTORE 203
- ELSEIF C% = 62 THEN
- RESTORE 204
- ELSEIF C% = 63 THEN
- RESTORE 205
- ELSEIF C% = 64 THEN
- RESTORE 206
- ELSEIF C% = 65 THEN
- RESTORE 207
- ELSEIF C% = 66 THEN
- RESTORE 208
- ELSEIF C% = 67 THEN
- RESTORE 209
- END IF
- FOR YOFF% = 1 TO 6
- FOR XOFF% = 1 TO 5
- READ Z%
- PSET (XBASE% + XOFF% + 36, YBASE% + YOFF%), Z%
- NEXT
- NEXT
- RESTORE
- END IF
- END IF
- REM ERASE:
- FOR YOFF% = 1 TO 14
- FOR XOFF% = 1 TO 9
- READ Z%
- PSET (XOFF% + X%, YOFF% + Y%), 0
- NEXT
- NEXT
- RESTORE 1
- REM New position:
- IF KEY$ = "W" OR KEY$ = "w" THEN
- LET Y% = Y% - S%
- ELSEIF KEY$ = "A" OR KEY$ = "a" THEN
- LET X% = X% - S%
- ELSEIF KEY$ = "S" OR KEY$ = "s" THEN
- LET Y% = Y% + S%
- ELSEIF KEY$ = "D" OR KEY$ = "d" THEN
- LET X% = X% + S%
- END IF
- REM DRAW:
- FOR YOFF% = 1 TO 14
- FOR XOFF% = 1 TO 9
- READ Z%
- PSET (XOFF% + X%, YOFF% + Y%), Z%
- NEXT
- NEXT
- RESTORE 1
- LOOP WHILE 1 = 1
- 16 END
Add Comment
Please, Sign In to add comment