10 REM  MASKEN  11 REM  L Y S A T O R  12 REM  Link|pings Tekniska H|gskola  20 OUT 4,0 21 ; CHR$(12%)'styr }t ena h}llet med A och }t andra h}llet med [' 22 ; 'styr }t ena h}llet med A och }t andra h}llet med [' 23 ; : ; : ; : ; 'OBS STORA BOKST[VER!' 25 ; : ; : ; : ; : ; : ; '[r du klar?' : GET A$ 30 X%=26% : Y%=15% 40 DIM M1%(500%),M2%(500%),B$=30 50 DIM S%(5%),T%(1000%),D%(1000%) 60 F9%=75% 70 T3%=0% : P%=0% : R%=0% 80 FOR I%=65081% TO 65085% 90 S%(I%-65081%)=PEEK(I%) : NEXT I% 100 ; CHR$(12%) 110 FOR I%=1% TO 24% : ; : ; CHR$(151); : NEXT I% 120 FOR I%=3% TO 78% : SETDOT 2%,I% : SETDOT 69%,I% : NEXT I% 130 FOR I%=2% TO 68% : SETDOT I%,3% : SETDOT I%,78% : NEXT I% 140 ; CUR(11%,5%);"OOOO\" 150 FOR I%=1% TO 5% : M1%(I%+250)=11% : M2%(256%-I%)=4%+I% : NEXT I% 160 B%=251% : E%=255% : F%=0% 170 FOR D=-2000*R% TO 2000 : NEXT D 180 T2%=-1% : GOSUB 440 190 T3%=1%+T3% 200 IF T3%=T7% T7%=0% : R%=0% : GOSUB 880 210 IF NOT R% THEN 250 220 IF T3%<>T%(P%) THEN 300 230 A%=D%(P%) : P%=1%+P% 240 GOTO 290 250 A%=PEEK(65013%) 260 IF A%=0% THEN 300 270 A%=INP(56%) AND 127% : POKE 65013%,0% 280 T%(P%)=T3% : D%(P%)=A% : P%=1%+P% 290 F%=(F%+(A%=91%)-(A%=65%)) AND 3% 300 M1%(B%-1%)=M1%(B%)+(F%=1%)-(F%=3%) 310 M2%(B%-1%)=M2%(B%)+(F%=2%)-(F%=0%) 320 W%=M1%(B%-1%) : Z%=M2%(B%-1%) 330 IF (W%=Y% OR W%=Y%+1%) AND (Z%=X% OR Z%=X%+1%) THEN GOSUB 450 : GOTO 330 340 IF DOT(W%*3%,Z%*2%) 530 350 IF W%<1% OR W%>22% OR Z%<2% OR Z%>38% THEN 530 360 ; CUR(M1%(B%),M2%(B%));"O"; 370 ; CUR(M1%(B%-1%),M2%(B%-1%));"\"; 380 IF RND>.1 ; CUR(M1%(E%),M2%(E%));" " : E%=E%-1% 390 IF E%=-1% E%=499% 400 B%=B%-1% 410 IF B%=0% THEN M1%(500%)=M1%(0%) : M2%(500%)=M2%(0%) : B%=500% 420 FOR D=-F9%*R% TO F9% : NEXT D 430 GOTO 190 440 REM  TR[FF 450 OUT 6,7 : A%=0% : T2%=T2%+1% 460 ; CUR(Y%,X%)" " : ; CUR(Y%+1%,X%)" " 470 X%=RND*36+2% : Y%=RND*21+1% 480 FOR G%=X%*2% TO X%*2%+2% : FOR T%=Y%*3% TO Y%*3%+3% : IF DOT(T%,G%) 470 490 NEXT T% : NEXT G% 500 ; CUR(Y%,X%);"ff"; 510 ; CUR(Y%+1%,X%);"99"; 520 OUT 6,0 : RETURN 530 REM 540 FOR D=1 TO 1000 : OUT 6,11 : NEXT D : OUT 6,0 550 FOR D=1 TO 1000 : NEXT D 560 ; CHR$(12%) : ; : ; 570 ; "Du tr{ffade"T2%" m}l." 580 B$="URKASST..." 590 IF T2%>0% B$="Inte riktigt bra." 600 IF T2%>5% B$="Bravo..." 610 IF T2%>10% B$="Mycket bra..." 620 IF T2%>25% B$="Fenomenalt..." 630 IF T2%>50% B$="Du {r ju PROFFS..." 640 IF T2%>100% B$="*** SUPERBRA ***" 650 ; : ; B$ 660 IF T2%>30% ; "Du borde bli maskf|rare p} heltid." 670 IF A8% THEN 770 680 IF R% THEN 800 690 ; : ; "Vill du ha repris"; : POKE 65013%,0% : INPUT A$ 700 T7%=0% 710 ONERRORGOTO 730 720 T7%=T3%-VAL(A$) 730 ONERRORGOTO 0 740 IF T7% 770 750 IF INSTR(1,"Jj",CHR$(ASC(A$))) 770 760 GOTO 800 770 FOR I%=65081% TO 65085% 780 POKE I%,S%(I%-65081%) : NEXT I% 790 R%=-1% : T3%=0% : P%=0% : GOTO 100 800 ; : ; "Vill du {ndra fart"; : POKE 65013%,0% : INPUT A$ 810 IF INSTR(1,"Jj",CHR$(ASC(A$))) 850 820 ; : ; "Vill du f|rs|ka en g}ng till"; : POKE 65013%,0% : INPUT A$ 830 IF INSTR(1,"Nn",CHR$(ASC(A$))) END 840 GOTO 70 850 ; "fart 1,2,3 eller 4 "; : INPUT A9% 860 IF A9%<5% AND A9%>0% THEN F9%=(5%-A9%)*25% : GOTO 70 870 A8%=-1% : GOTO 770 880 POKE 65013%,0 890 IF PEEK(65013%)=0% 890 900 RETURN