10 ?&25A=&30 20 E=1:VDU26 30 VDU 23,97,8,28,62,127,62,28,8,0 40 TIME=1 50 PROCgrid 60 PROCvar 70 PROCdata 80 PROCst 90 END 100 DEFPROCgrid:GCOL0,0:MOVE100,100:DRAW1150,100:DRAW 1150,700:DRAW 100,700:DRAW 100,100:PLOT85,1150,700:PLOT85,1150,100:GCOL0,1:MOVE100,100:DRAW1150,100:DRAW 1150,700:DRAW 100,700:DRAW 100,100:ENDPROC 110 DEFPROCvar 120 sc2=0:sc=0:nor=2 130 x%=450:y%=500 140 vdir=-1:hdir=0 150 lv=1 160 ENDPROC 170 DEFPROCst:E=1:PROCr 180 COLOUR0:PRINTTAB(8,30)" " 190 GCOL0,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) 320 COLOUR 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 530 ENDPROC 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 590 FORT=1TO1000:NEXT:PROCgrid:PROCn:ENDPROC 600 DEFPROCcheck:IF POINT(x%,y%)<>0 PROCdead:ENDPROC ELSE ENDPROC 610 DEFPROCdata 620 COLOUR3:PRINTTAB(3,18)"LEVEL ";lv 630 COLOUR5:PRINTTAB(3,21)"POINTS NEEDED" 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:ENDPROC 680 DEFPROCn:IF sc26 b=30 720 FORT=1 TO b:VDU5:GCOL0,RND(7):MOVE 150+RND(900),150+RND(500):VDU 97:NEXT:VDU 4 730 IF POINT(x%,y%)<>0 x%=450+RND(200):y%=500-RND(200):GOTO 730 740 ENDPROC