Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- RANDOMIZE TIMER
- SCREEN 0
- WIDTH 40, 43
- '===Intro Sequence===
- COLOR 2: LOCATE 22, 15: PRINT "WELCOME TO"
- COLOR 3: LOCATE 24, 13: PRINT "MOVING SPRITE"
- OldTimer = TIMER:
- DO: LOOP UNTIL (TIMER - OldTimer > 3)
- CLS
- COLOR 1: LOCATE 22, 10: PRINT "Controls are on the"
- COLOR 4: LOCATE 24, 11: PRINT "RIGHT ";
- COLOR 1: PRINT "Number pad"
- OldTimer = TIMER: DO: LOOP UNTIL (TIMER - OldTimer > 3)
- CLS
- '===Game Logic===
- GOSUB NewLevel
- '===Main Level Loop===
- DO
- GOSUB PrintInfo
- GOSUB DrawBorder
- COLOR 14: LOCATE PlayerY, PlayerX: PRINT "@"
- Var$ = INKEY$
- GOSUB InterpretInput
- GOSUB CheckBorder
- GOSUB CheckPickup
- GOSUB UpdatePlayer
- IF PickupCount = 0 THEN GOSUB NewLevel
- LOOP WHILE 1
- END
- PrintInfo:
- COLOR 7: LOCATE 1, 1:
- PRINT "Level: "; Level, "Time: "; LevelTimer - INT(TIMER - OldTimer)
- PRINT "Score: "; Score, PickupCount
- RETURN
- DrawBorder:
- FOR i = 2 TO 39: LOCATE 3, i: PRINT "-";: LOCATE 42, i: PRINT "-";: NEXT
- FOR i = 4 TO 41: LOCATE i, 1: PRINT "|";: LOCATE i, 40: PRINT "|";: NEXT
- RETURN
- InterpretInput:
- IF Var$ = "8" THEN NewPlayerY = PlayerY - 1
- IF Var$ = "2" THEN NewPlayerY = PlayerY + 1
- IF Var$ = "4" THEN NewPlayerX = PlayerX - 1
- IF Var$ = "6" THEN NewPlayerX = PlayerX + 1
- IF Var$ = "7" THEN NewPlayerY = PlayerY - 1: NewPlayerX = PlayerX - 1
- IF Var$ = "9" THEN NewPlayerY = PlayerY - 1: NewPlayerX = PlayerX + 1
- IF Var$ = "1" THEN NewPlayerY = PlayerY + 1: NewPlayerX = PlayerX - 1
- IF Var$ = "3" THEN NewPlayerY = PlayerY + 1: NewPlayerX = PlayerX + 1
- RETURN
- CheckBorder:
- IF NewPlayerX < 2 THEN NewPlayerX = 2
- IF NewPlayerX > 39 THEN NewPlayerX = 39
- IF NewPlayerY < 4 THEN NewPlayerY = 4
- IF NewPlayerY > 41 THEN NewPlayerY = 41
- RETURN
- CheckPickup:
- IF CHR$(SCREEN(NewPlayerY, NewPlayerX)) = "$" THEN
- Score = Score + 10
- PickupCount = PickupCount - 1
- LOCATE NewPlayerY, NewPlayerX: PRINT " "
- END IF
- RETURN
- UpdatePlayer:
- IF (PlayerX <> NewPlayerX OR PlayerY <> NewPlayerY) THEN
- LOCATE PlayerY, PlayerX: PRINT " "
- PlayerX = NewPlayerX
- PlayerY = NewPlayerY
- END IF
- RETURN
- NewLevel:
- Level = Level + 1
- PlayerX = 20
- PlayerY = 22
- LevelTimer = 50 + (Level * 5)
- PickupCount = Level
- FOR i = 1 TO PickupCount
- x = INT(38 * RND + 1): y = INT(38 * RND + 4)
- COLOR 2: LOCATE y, x: PRINT "$"
- NEXT
- OldTimer = TIMER
- RETURN
Advertisement
Add Comment
Please, Sign In to add comment