8-Bit Software Online Conversion
:2.$.SATS - Listing
10 ?&25A=&30
20E=1:VDU26
30 VDU 23,97,8,28,62,127,62,28,8,0
40TIME=1
50PROCgrid
60PROCvar
70PROCdata
80 PROCst
90END
100DEFPROCgrid:GCOL0,0:MOVE100,100:DRA
W1150,100:DRAW 1150,700:DRAW 100,700:DRA
W 100,100:PLOT85,1150,700:PLOT85,1150,10
0:GCOL0,1:MOVE100,100:DRAW1150,100:DRAW
1150,700:DRAW 100,700:DRAW 100,100:ENDPR
OC
110DEFPROCvar
120sc2=0:sc=0:nor=2
130 x%=450:y%=500
140 vdir=-1:hdir=0
150 lv=1
160ENDPROC
170DEFPROCst:E=1:PROCr
180COLOUR0:PRINTTAB(8,30)" "
190GCOL0,6:MOVEx%,y%
200 IF hdir=0 GOTO 220
210 x%=x%+(hdir*(nor*4))
220 IF vdir=0 GOTO 250
230 y%=y%+(vdir*(nor*4))
240 IF y%>=800 PROCdead
250 PROCcheck
260 SOUND &11,-9,E,1
270 SOUND &12,-9,E,1:SOUND &13,-9,E,1
280 E=E+(nor/50)
290 DRAW x%,y%
300 sc2=sc2+nor
310 G$=INKEY$(1)
320COLOUR 1:PRINTTAB(8,30);sc2
330 IF G$="" GOTO 200
340 IF G$<>"" VDU7
350 IF G$="*" OR G$=":" PROCup
360 IF G$="?" OR G$="/" PROCdown
370 IF G$="z" OR G$="Z" PROCleft
380 IF G$="x" OR G$="X" PROCright
390 IF G$="S" OR G$="s" nor=5
400 GOTO 200
410 ENDPROC
420 DEFPROCup
430 IF vdir=-1 PROCdead
440 vdir=1:hdir=0
450 ENDPROC
460 DEFPROCdown
470 IF vdir=1 PROCdead
480 vdir=-1:hdir=0
490 ENDPROC
500 DEFPROCleft
510 IF hdir=1 PROCdead
520 hdir=-1:vdir=0
530ENDPROC
540 DEFPROCright
550 IF hdir=-1 PROCdead
560 hdir=1:vdir=0
570 ENDPROC
580 DEFPROCdead:PRINTTAB(4,20)"END !!
END !!":FOR T=1 TO 300:VDU7:NEXT
590FORT=1TO1000:NEXT:PROCgrid:PROCn:EN
DPROC
600 DEFPROCcheck:IF POINT(x%,y%)<>0 PR
OCdead:ENDPROC ELSE ENDPROC
610 DEFPROCdata
620 COLOUR3:PRINTTAB(3,18)"LEVEL ";lv
630 COLOUR5:PRINTTAB(3,21)"POINTS NEED
ED"
640 PRINTTAB(3,22)"TO REACH NEXT"
650 PRINTTAB(3,23)"LEVEL"
660 PRINTTAB(6,25);lv*500
670 OSCLI"FX21,0":H$=GET$:PROCgrid:END
PROC
680 DEFPROCn:IF sc2<lv*500 CHAIN"CRAZE
2"
690 nor=2:lv=lv+1:GOTO70:ENDPROC
700 DEFPROCr
710 b=lv*5:IF lv>6 b=30
720 FORT=1 TO b:VDU5:GCOL0,RND(7):MOVE
150+RND(900),150+RND(500):VDU 97:NEXT:V
DU 4
730 IF POINT(x%,y%)<>0 x%=450+RND(200)
:y%=500-RND(200):GOTO 730
740ENDPROC