REM 2021-02-01 REM The Memotech Games Book program listings, from Google OCR of book. REM Will certainly contain errors. 10 REM ** SHOW JUMPING ** 20 DIM H(4,11),R$(4,15),JU(12,4),JP$(12,1) 30 FOR J=1 TO 12: FOR K=1 TO 4: READ JU(J,K): NEXT : NEXT 40 FOR J=1 TO 12: READ JP$(J): NEXT 50 DIM P$(4,11): LET P$(1)="TROOPER": LET P$(2)="BOOMERANG": LET P$(3)="GIDDYUP" : LET P$(4)="CRACKERJACK" 60 CRVS 2,1,4,14,12,4,32: CTLSPR 2,1: CT LSPR 5,1 70 GENPAT 3,1,0,8,124,255,124,8,0,0 80 GENPAT 3,2,2,68,56,120,120,116,128,0 90 GENPAT 3,3,16,16,56,124,56,56,56,16 100 GENPAT 3,4,128,68,56,60,60,92,2,0 110 GENPAT 3,5,0,4,62,255,62,4,0,0 120 GENPAT 3,6,2,92,60,60,56,68,128,0 130 GENPAT 3,7,16,56,56,56,124,56,16,16 140 GENPAT 3,8,128,116,120,120,56,68,2,0 150 GENPAT 1,129,0,1,17,47,15,15,6,9 160 GENPAT 1,130,132,8,156,254,246,240,4 8,72: GENPAT 1,131,3,6,223,63,62,32,64,128 170 GENPAT 1,132,32,240,184,216,32,16,0,0: GENPAT 1,133,8,4,3,3,19,12,0,0 180 GENPAT 1,134,129,71,231,253,253,60,2,1 190 GENPAT 1,135,0,0,24,60,126,255,255,126 280 GENPAT 1,136,24,24,24,24,24,24,24,24 210 GENPAT 1,137,126,255,255,126,60,24,0 220 GENPAT 1,138,6,15,31,63,63,31,15,6 230 GENPAT 1,139,0,0,0,255,255,0,0,0 240 GENPAT 1,140,96,240,248,252,252,248,240,96 250 GENPAT 1,141,0,0,248,252,252,252,252,252 260 GENPAT 1,142,3,6,12,24,48,96,192,128 270 GENPAT 1,143,63,63,63,63,63,31,0,0 280 GENPAT 1,144,0,0,31,63,63,63,63,63 290 GENPAT 1,145,192,96,48,24,12,6,3,1 300 GENPAT 1,146,252,252,252,252,252,24,8,0,0 310 GENPAT 0,37,0,126,66,90,90,66,126,0 320 GENPAT 0,38,16,9,16,0,16,0,16,0 330 GENPAT 0,91,0,0,0,48,48,48,48,48 340 GENPAT 0,92,0,0,8,32,8,40,8,40 350 GENPAT 0,93,0,8,65,8,93,93,93,73 360 GENPAT 0,123,0,0,0,0,0,0,128,128 370 GENPAT 0,125,0,0,0,0,0,0,0,1 380 LET T$=" " +CHR$(129)+CHR$(130): LET J$=CHR$(131)+CHR$(132): LET L$=" " +CHR $(133)+CHR$(134): LET W$="("+")" 390 VS 5: CLS : CSR 2,1: INPUT "How many riders?(1-4) ":N$ 400 LET N=VAL(N$): IF N<1 OR N>4 THEN GOTO 380 410 CSR 2,3: PRINT "What are THENames of the riders?" 420 FOR J=1 TO N 430 CSR 2,3+2*J: PRINT J;" ";: INPUT R(J) 440 NEXT 450 PLOD "SHOW1" 460 CLS : CSR 2,2: PRINT "The horses are:" 470 FOR J=1 TO 4: CSR 10,J*2+2: PRINT J ;" ";P$(J): NEXT 480 CSR 2,12: PRINT "Key a number,1 TO 4" 490 FOR J=1 TO N 500 CSR 2,J*2+12: PRINT "Rider: ";R$(J) ; : INPUT" Horse? ";A$ 510 LET A=VAL(A$): IF A<1 OR A>4 THEN GOTO 500 520 LET F=O: FOR K=1 TO 4: IF A=H(K,1) THEN LET F=1 530 NEXT : IF F=1 THEN GOTO 500 540 LET H(J,1)=A: NEXT 550 FOR J=1 TO 4: LET FF=0: FOR K=1 TO 4: IF H(K,1)=J THEN FOR L=2 TO 7: READ H(K,L): NEXT : LET FF=1 560 NEXT : IF FF=D THEN FOR L=2 TO 7: READ FF: NEXT 570 NEXT : PLOD "SHOW2" 580 CLS : CSR 2,2: PRINT "1) FOXHUNTER" CSR 2,4: PRINT "2) HIT AND HURRY": CSR 2,6; PRINT "3) SCURRY" 590 CSR 2,10: INPUT "Which do you choose(1-3) ",A$ 600 LET C=VAL(A$)-1: IF C<0 OR C>2 THEN GOTO 590 610 VS 4: COLOUR 0,2: COLOUR 1,15: COLOUR 2,2: COLOUR 4,9: CLS 620 CSR 6,1: PRINT "11"; CHR$(135);" 10" : CHR$(135): CSR 19,1: PRINT "9"; CHR$(13 5) 630 CSR 8,2: PRINT CHR$(136): CSR 12,2: PRINT CHR$(136): CSR 20,2: PRINT CHR$(136) 640 CSR 8,3: PRINT CHR$(137): CSR 12,3: PRINT CHR$(137): CSR 20,3: PRINT CHR$(137) 650 CSR 9,4: PRINT "6"; CHR$(141): CSR 9,5: PRINT CHR$(142): CSR 20,5: PRINT "3 "; CHR$(144) 660 CSR 8,6: PRINT CHR$(143);" 7"; CHR$(141): CSR 22,6: PRINT CHR$(145): CSR 11,7: PRINT CHR$(142): CSR 18,7: PRINT " 4";CHR$(144); " ";CHR$(146) 670 CSR 10,8: PRINT CHR$(143): CSR 20,8 : PRINT CHR$(145): CSR 21,9: PRINT CHR$(146): CSR 8,10: PRINT "5"; CHR$(135) 680 CSR 9,11: PRINT CHR$(136): CSR 27,1 1: PRINT "2"; CHR$(138); CHR$(139); CHR$(1 40): CSR 9,12: PRINT CHR$(137) 690 CSR 22,13: PRINT "8";CHR$(135): CSR 23,14: PRINT CHR$(136): CSR 23,15: PRINT CHR$(137): CSR 11,18: PRINT "%": CSR 5,19: PRINT "12";CHR$(135); " & ". 700 CSR 20,19: PRINT "%": CSR 7,20: PRINT CHR$(136);" &": CSR 20,20: PRINT " X 1";CHR$(135): CSR 7,21: PRINT CHR$(137); " %" 710 CSR 20,21: PRINT " & "; CHR$(136): CSR 20,22: PRINT "% "; CHR$(137): COLOUR 0,4: CSR 19,2: PRINT "" 720 FOR PN=1 TO N 730 VS 2: COLOUR 0,5: COLOUR 2,5: COLOUR 4,9: CLS 740 SPRITE 1,1,124,19,0,0,H(PN,2) 750 CSR 1,1: PRINT R$(PN): CSR 1,2: PRINT P$(H(PN,1)): PAUSE 8000: CLS 760 GOSUB 2300 770 LET X=15: LET Y=21: LET D=1 : LET V= 780 GOSUB 2500: IF X < >20 OR NOT(Y=20 OR Y=21) OR D<>1 THEN GOTO 780 790 CLOCK "000000": LET J=0: LET FC=0: LET FD=0: LET FR=0: LET MT=O: LET JK=0 800 LET J=J+1 810 VS 4: COLOUR 0,2: CSR 25,1: PRINT M ID$(TIME$,3,2);".";RIGHT$(TIME$,2) 820 IF H(PN,11)=3 THEN VS 2: CSR 0,1: PRINT "DISQUALIFIED"; : PAUSE 5000: CLS : GOTO 990 830 IF C>0 THEN LET TU=VAL(MID(TIME$,4,1)): IF TUS=C THEN GOTO 1000 840 GOSUB 2500: IF X<>JU(3,1) OR Y<>JUC 1,2) OR D<>JU(3,3) THEN GOTO 810 850 VS 2: CLS I COLOUR 0,5: COLOUR 1,15 : CSR 8,3: PRINT JP$(J);: IF J=9 THEN CSR 8,3: PRINT W$; 860 COLOUR 1,H(PN,2): LET KJ=O: FOR Z=0 TO 4: IF INKEY$KX"" AND Z<4 THEN LET KJ=1 870 CSR 2.3: PAUSE 500: PRINT T$:: NEXT : LET JK=0: LET k=1: IF KJ=1 THEN GOTO 900 880 IF ASC(INKEY)=26 THEN LET JK=1: GOTO 900 890 LET K=K+1: IF K<50 THEN GOTO 880 900 LET FR=0; IF RND*1509 AND(V<3 OR RND<.05 OR HIPN,4)-RND*6+B10 OR NOT(Y=19 OR Y=20) OR D<>1 THEN GOTO 960 990 GOSUB 2300: LET H(PN,8)=VAL(RIGHT$( TIME$,4)): NEXT : GOTO 1060 1000 IF FC=1 THEN GOTO 1030 1010 SOUND 0,1000,240,0,-18,50,1: GOSUB 2009 1020 VS 2: CSR 0,1: PRINT "TIME EXPIRED ": PAUSE 10+5000*(C-1) 1030 IF C=1 AND FR=1 THEN LET FC=i: GOTO 840 1040 IF C=1 THEN LET HIPN,10)=3-1: GOTO 960 1050 IF C=2 THEN VS 2: CSR 0,1: PRINT "DISQUALIFIED": PAUSE 5000: LET H(PN,11 )=3: GOTO 990 1060 VS 4: CLS : VS 2: CLS : VS 5: CLS 1070 CSR 2,1: PRINT "COMPETITION RESULTS" 1080 CSR 2,3: PRINT "RIDER": CSR 15,3: PRINT "HORSE" 1090 FOR J=1 TO N 1100 CSR 2,J*3+3: PRINT R$(J): CSR 15,J *3+3: PRINT P$(H(3,1)): LET MM=INT(HAJ,81/100): LET SS=H(J,8)-MM*100: LET H(J. 8)=MM*60+SS 1110 NEXT 1120 CSR 26,3: IF C=0 THEN PRINT "FAULTS" 1130 IF C=1 THEN PRINT "POINTS". 1140 IF C=2 THEN PRINT "PENALTY" 1150 CSR 34,3: PRINT "TIME" 1160 FOR J=1 TO N: CSR 26,3*3+3: IF H(J,11)=3 THEN PRINT "DISQUALIFIED": GOTO 1200 1170 ON C GOSUB 2800,2850,2900 1180 PRINT H(3,10) 1190 CSR 34,3*3+3: PRINT H(J,8) 1200 NEXT 1210 CSR 2,20: PRINT "WINNER: "; 1220 LET NS=-1: LET LS=1000: LET BS=0: FOR J=1 TO N: IF H(3,11)=3 THEN GOTO 1 240 1230 ON C GOSUB 2950,3000,3050 1240 NEXT : IF C 1 THEN GOTO 1300 1250 IF NS. THEN GOTO 1300 1260 LET NS=-1: LET LS=1000: FOR J-1 TO N: IF H(J,11)=3 THEN GOTO 1290 1270 LET H(J,10)=H(J,8) 1280 GOSUB 2950 1290 NEXT 1300 FOR J=1 TO N: IF H(J,11)=3 THEN GOTO 1330 1310 IF C=1 AND NS<2 AND H(J,10)=BS THEN PRINT R$(J);" ";: GOTO 1330 1320 IF H(3,10)=LS THEN PRINT R$(J);" 1330 NEXT 1340 IF INKEY$< " " THEN GOTO 1340 1350 RESTORE 4020: FOR J=1 TO 4: FOR K= 1 TO 11: LET H(J,K)=0: NEXT : NEXT : GOTO 390 2000 IF PEEK(64082)< >PEEK(64086) THEN GOTO 2000 2010 SOUND 0,0,0 2020 RETURN 2300 SOUND 0,1000,240,0,-18,50,1 2310 GOSUB 2000: RETURN 2500 LET B=ASC(INKEY) 2510 IF B=11 AND VCH(PN,3) THEN LET V= V+1 2520 IF B=10 THEN LET V=V-3; IF KO THEN LET V=0 2530 IF B=8 THEN LET D=D+1: GOTO 2690 2540 IF B=25 THEN LET D=D-1: GOTO 2690 2550 IF RND*3008 THEN LET D=D-8 2570 IF D<1 THEN LET D=D+8 2580 IF V=THEN GOTO 2670 2590 IF D=1 OR D=2 OR D=8 THEN LET X=X 2600 IF D>3 AND D<7 THEN LET X=X-1 2610 IF D1 AND D5 THEN LET Y=Y-1 2620 IF DAS THEN LET Y=Y+1 2630 IF X=0 THEN LET X=1: LET D=1 2640 IF X=32 THEN LET X=31: LET D=S 2650 IF Y=0 THEN LET Y=1: LET D=7 2660 IF Y=23 THEN LET Y=22: LET D=3 2670 ADJSPR 0,1,D: ADJSPR 2,1,X*8+4: ADJSFR 3,1,(24-Y)*8-5 2680 PAUSE 600-V*100: RETURN 2690 IF D=9 THEN LET D=1 2700 IF D=D THEN LET D=8 2710 ADJSPR 0,1,D: PAUSE 1000-150*H(PN,5): RETURN 2800 LET H(3,10)=4*H61,9)+3*H(3,11) 2810 RETURN 2850 LET H(J,10)=3*H(3,10)-2*H(1,9) 2860 RETURN 2900 LET H(3,9)=6*H(3,9) 2910 LET H(J,10)=H(3,9) 2920 LET H(1,8)=H(1,8)+H(3,10) 2930 RETURN 2950 IF H(J,10)BS THEN LET BS=H(3,10) : LET NS=NS+1 3010 RETURN 3050 LET H(J,10)=H(3,8) 3060 GOSUB 2950: RETURN 4000 DATA 23,21,1,4,29,12,3,4,23,5,6,5,21,7,6,5,10,11,5,4,8,4,8,4,10,6,8,5,22,14,1,5,21,2,5,2,13,2,5,5,9,2,5,5,6,20,1 4010 DATA 1,1,1,1,1,1,1,1,W,1,1,1 4020 DATA 6,3,2,3,0,0,1,3,5,2,3,0,9,5,3,3,1,1,14,3,3,5,5,0 10 REM ** BLACK HOLE ** 20 LET N=B: LET B5=-1000: LET SC=0 30 LET SC=0: SBUF 2 40 CTLSPR 2,3: CTLSPR 6,3 50 GENPAT 4,1,3,31,121,255,194,254,254,1 94: GENPAT 5,1,127,35,33,1,1,0,0,0: GENP AT 6,1,224,248,158,255,67,127,127,67: GE NPAT 7,1,254,196,132,128,128,0,0,0 60 GENPAT 4,2,0,0,6,0,0,0,0,0: GENPAT 5,2,0,0,0,32,0,1,1,1: GENPAT 6,2,0,0,96,0,0,0,0,0: GENPAT 7,3,0,0,0,0,0,14,0,4 70 GENPAT 4,3,0,0,0,0,60,0,0,60: GENPAT 5,3,0,0,0,0,0,112,0,32: GENPAT 6,3,0,0,0,0,60,0,0,60: GENPAT 7,3,0,0,0,0,0,14,0, 80 GENPAT 1,129,28,62,254,252,126,127,246,224 90 VS 5: CLS 100 INPUT "LEVEL?(1-10) ";L$ 110 LET L=VAL(L$): IF L 1 OR LX10 THEN GOTO 100 120 VS 4: COLOUR 0,4: COLOUR 1,10: COLOUR 2,4: COLOUR 4,1: CLS 130 FOR J=1 TO 20: CSR INT(RND*31),INT(RND*23): PRINT CHR$(129): NEXT 140 LET REINT(RND*192): LET C=INT(RND*256) 150 LET RC=INT(RND*192): LET CC=INT(RND*256) 160 IF ABS(R-RC)<85 OR ABS(C-CC)<85 THEN GOTO 140 170 SOUND 1,2500,240,103,0,65535,1 180 SOUND 2,2000,240,200,0,65535,1 190 CLOCK "000000" 200 SPRITE 1,1,CC,RC,0,0,1: SPRITE 2,2,C C,RC,0,0,0: SPRITE 3,3,CC,RC,0,0,6 210 CSR 30,0: PRINT RIGHT$(TIME$,2) 220 IF VAL(RIGHT$(TIME$,3)) >=100 THEN GOTO 510 230 ADJSPR 1,2,0 ADJSPR 1,3,6: LET A$=I NKEY 240 IF A$="/" THEN LET RC=RC-N 250 IF A$="" THEN LET RC=RCUN 260 IF A$="Z" THEN LET CC-CC-N 270 IF A$="X" THEN LET CC=CC+N 280 GOSUB 1000: ADJSPR 1,2,15: ADJSPR 1,3,3 290 LET RA=ABS(R-RC): LET CA=ABS(C-CC) 300 LET N=24: IF RA<16 AND CAC 16 THEN LET T$=RIGHT(TIME$,2): GOTO 380 310 IF RA>96 OR CA>160+L*8 THEN LET N=8 : GOTO 210 320 IF RA<48 THEN LET RC=RC+8*SGN(R-RC) 330 IF RA< 104 THEN LET RC=RC+8*SGN(R-RC 340 IF CA<88 THEN LET CC=CC+8*SGN(C-CC) 350 IF CA<168+8*L THEN LET CC=CC+8*SGN C-CC) 360 GOSUB 1000 370 GOTO 210 380 CLS : VS 5: PAPER 1: INK 15: CLS 390 SBUF 1: SOUND 1,0,0: SOUND 2,0,0 400 SBUF 2: SOUND 1,6000,0,-50,40,100,1 410 IF PEEK(64092)<>PEEK(64096) THEN GOTO 410 420 SOUND 1,0,0: SOUND 3,4,15: PAUSE 250 I SOUND 3,5,10: PAUSE 400: SOUND 3,6,7: PAUSE 600: SOUND 3,0,0 430 LET SC=INT(SC*60/VAL(T$))-10 440 IF SC>BS THEN LET BS=SC 450 PRINT : PRINT "Your score = ";SC 460 PRINT : PRINT "Best score = ";BS 470 PRINT : PRINT "Time = ";T$;" seconds 480 CSR 2,20: PRINT "Press space bar for next mission" 490 IF INKEY$< " " THEN GOTO 490 500 CLS : PAPER 5: INK 15: GOTO 30 510 CLS : VS 5: PAPER 9: INK 2: CLS 520 SBUF 1: SOUND 1,0,0: SOUND 2,0,0 530 SBUF 4: SOUND 1,1507,240,0,-15,45,1: SOUND 1,1911,240,0,-15,80,1 540 IF PEEK(64092)<>PEEK(64096) THEN GOTO 540 550 SOUND 1,0,0 560 PRINT : PRINT "TIME UP!" 570 LET T$="60"; GOTO 440 1000 IF RC 4 THEN LET RC=4 1010 IF RC192 THEN LET RC=192 1020 IF CC<0 THEN LET CC=0 1030 IF CC>255 THEN LET CC=255 1040 ADJSPR 2,1,CC: ADJSPR 3,1,RC: ADJSP R 2,2,CC: ADJSPR 3,2,RC: ADJSPR 2,3,CC: ADJSPR 3,3,RC 1050 CSR CC/8,24-RC/8: IF SPK$CHR$(129) THEN CSR CC/8,24-RC/8: PRINT " "; LET SC=SC+N 1060 RETURN 10 REM ** MAGIC JIGSAW ** 20 DIM F19,2): SBUF 42: POKE 64145,132: POKE 64862,13 30 vs 4: COLOUR 0,12: COLOUR 2,12: COLOUR 4,10: CLS 40 FOR P=1 TO 9 50 LET N=INT(RND*9) +1: LET F=0 60 FOR J=1 TO 9 70 IF F(J,1)=N THEN LET F=1 80 NEXT 90 IF F=1 THEN GOTO 50 100 LET F(P,1)=N: GOSUB 900 110 LET Q=INT(RND*2): LET F(P,2)=Q 120 IF N=7 THEN GOTO 150 130 LET BS=INT(144*(2-2*INT((N-1)/3) +(N1)/3) +.5) 140 FOR J=1 TO B6: READ B: NEXT 150 ON Q GOSUB 1000,2000 160 RESTORE 5000 170 NEXT 180 COLOUR 0,15 190 COLOUR 01: COLOUR 1.15: FOR J-1 TO 200 CSR INT(6+((J-1)/3-INT((J-1)/3)) *27+ .5),INT(22-INT((J-1)/3)*7+.5): PRINT J 210 NEXT 220 LET FF=1: FOR N=1 TO 9 230 IF F(N,1)< INT(7-INT((N-1)/3) *3+((N1)/3-INT((N-1)/3))*37.5) OR FIN,2) >0 THEN LET FE=0 240 NEXT 250 IF FF=1 THEN GOTO 460 260 LET T=2: GOSUB 3000 270 LET A$=INKEY$: IF A$="" THEN GOTO 2 70 280 IF A$="5" THEN GOTO 550 290 LET P=VAL(A$): IF P<1 THEN GOTO 260 300 LET T=4: GOSUB 3000 310 LET R$=INKEY$: IF R$="" THEN GOTO 310 320 LET R=VAL(R$): IF REQ THEN GOTO 390 330 LET PT=F(P,1); LET QT=F(P,2) 340 LET F(P,1)=F(R,1): LET F(P,2)=F(R,2) 350 LET F(R,1)=PT: LET F(R,2)=QT 360 GOSUB 3500 370 LET P=R: GOSUB 3500 380 GOTO 220 390 RESTORE 5000: IF F(P,1)=7 THEN GOTO 420 400 LET BS=144+(2-2*INT((F(P,11-1)/3)+(F(P,1)-1)/3) 410 FOR L=1 TO BS: READ B: NEXT 420 IF F(P,2)=0 THEN LET F(P,2)=1; GOTO 440 430 LET F(P.2)=0 440 GOSUB 900: ON F(P,2) GOSUB 1000,2000 450 GOTO 220 460 CLS 470 RESTORE 5000: FOR N=1 TO 9 480 LET X=INT(4+((N-1)/3-INT((N-1)/3)) *2 4+.5) 490 LET Y=INT(15-INT((N-1)/3) *6+.5) 500 GOSUB 1000 510 NEXT 520 LET T=42: GOSUB 3000 530 LET A$= INKEY $: IF A$="" THEN GOTO 530 540 IF A$<>"S" THEN GOTO 520 550 POKE 64145,160: POKE 64862,15 560 STOP 900 LET X=INT(3+((P-1)/3-INT((P-1)/3))*2 7+.5) 910 LET Y=INT(16-INT((P-1)/3)*7+.5) 920 RETURN 1000 FOR LY=Y TO Y+5: FOR LX=X TO X+7 1010 READ B 1020 CSR LX,LY: COLOUR 0,8: PRINT " " 1030 NEXT NEXT : RETURN 2000 FOR LY=Y+5 TO Y STEP -1: FOR LX=X+7 TO X STEP -1 2010 READ B 2020 CSR LX,LY: COLOUR 0,B: PRINT "" 2030 NEXT : NEXT ; RETURN 3000 RESTORE 6000 3010 FOR J=1 TO T 3020 READ F.D 3030 IF F=99 THEN GOSUB 4000: GOTO 3050 3040 SOUND 0,F,160,0,-12,D*15,1 3050 NEXT 3060 GOSUB 4000: RETURN 3500 RESTORE 5000: IF F(P,1)=7 THEN GOTO 3530 3510 LET BS=INT(144*(2-2*INT((F(P,1)-1)/ 3) +(F(P,1)-1)/3) +.5) 3520 FOR L=1 TO BS: READ B: NEXT 3530 GOSUB 900: ON F(P,2) GOSUB 1000,200 3540 RETURN 4000 IF PEEK(64082)<>PEEK(64086) THEN GOTO 4000 4010 SOUND 0,0,0 4020 RETURN 5000 DATA 8,8,8,8,8,7,8,8,8,8,8,8,8,7,8,8,8,8,8,8,1,1,8,8 5010 DATA 2,8,8,8,8,8,8,8,2,2,8,2,8,8,2,8,2,2,2,2,2,2,2,2 5020 DATA 7,8,8,8,8,8,8,8,7,8,8,8,8,8,8,8,1,1,8,8,8,8,8,8 5030 DATA 8,8,8,8,8,8,2,8,8,8,8,2,2,8,2,8,2,2,2,2,2,2,2,2 5040 DATA 8,8,8,8,2,8,9,8,8,8,9,8,2,9,10,9,8,9,10,9,2,8,9,8 5050 DATA 8,8,9,8,2,8,8,8,2,8,8,8,2,8,2,8,2,2,2,2,2,2,2,2 5060 DATA 4,7,4,10,10,15,10,10,4,7,4,10,10,10,10,10,4,4,7,10,10,10,10,10 5070 DATA 4,4,4,13,13,13,13,13,4,4,4,4,7,7,7,7,8,8,8,8,8,7,8,8 5080 DATA 15,10,10,4,4,4,4,4,10,10,10,4,4,4,4,4,10,10,10,4,4,4,4,4 5090 DATA 13,13,13,7,7,4,4,4,7,7,4,4,4,7,4,4,7,8,8,8,8,11,8,8 5100 DATA 4,4,15,15,15,15,4,4,4,4,15,15,15,15,4,4,4,4,4,4,4,4,4,4 5110 DATA 4,4,4,4,9,4,4,4,4,4,4,9,10,9,4,4,8,8,8,8,9,8,8,8 5120 DATA 4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4 5130 DATA 4,4,4,4,4,10,10,10,4,4,4,4,10,10,10,10,4,10,4,10,10,1,10,10 5140 DATA 4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,15,4,4,4,4,4,4,4,15 5150 DATA 10,4,4,4,4,4,4,15,10,10,4,4,4,4,4,4,1,10,10,4,4,4,4,4 5160 DATA 4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,15,15,15,4,4,4,4,4 5170 DATA 15,15,15,4,4,4,4,4,4,4,4,4,4,,4,4,4,4,15,4,4,4,4,4 6000 DATA 3822,4,3034,2,3405,4,2863,2,30 34,2,2551,2,2024,2,1911,6,99,0 6010 DATA 3034,4,2551,2,2863,4,2272,2,2 551,2,3034,2,3822,2,3405,6,99,0 6020 DATA 3034,2,2863,2,2551,2,2863,2,25 51,2,2272,2,2551,2,2272,2,2024,2,1911,4,99,0 6030 DATA 1911,1,1703,1,1517,2,1911,2,19 11,2,1432,2,1432,2,1517,2,1703,2,1911,2,2024,2,1911,6,99,0 10 REM ** COPS AND ROBBERS ** 20 GENPAT 0,90,231,231,231,0,0,231,231,2 31: VS 4: CLS : COLOUR 4,3: LET MM=O: LET LM35000 30 LET M=O: LET MC=0 40 VS 5: INK 15: PAPER 5: CLS : INPUT "SPEED?(1-10) ";A$ 50 LET L=11-VAL(A$): IF L 1 OR LX10 THEN GOTO 40 60 VS 4: PAPER 15: INK 1: CLS 70 FOR J=1 TO 768: PRINT CHR$(90);: NEXT 80 LET HX=INT(RND*22) +5 90 LET HY=INT(RND*8) +2 100 CSR HX,HY: INK 10: PRINT CHR$(90) 110 LET RM=0: LET RX=2: LET RY=23: LET R D=0 120 LET CM=O: LET CX=30: LET CY=23: LET CD=0 130 GOSUB 1200: GOSUB 1300 140 LET A$=INKEY$: IF A$("G" THEN GOTO 140 150 IF MC=31 THEN LET MC=0: SOUND 0,0,0 : GOTO 110 160 LET J=0: LET M=M+1 170 SOUND 0,300,15 180 LET A$=INKEY$: IF A$="" AND J<20*L THEN LET J=J+1: GOTO 180 190 IF J=20*L THEN LET RM=1: GOTO 210 200 IF A$"Z" AND A$<"S" AND A$<> " " THEN GOTO 180 210 IF RX>=D AND RX<32 AND RY>=0 AND RY 24 THEN GOSUB 1400 220 IF A$="A" THEN LET RM=1: LET RD=RD+1: GOSUB 1000 230 IF A$"Z" THEN LET RM1: LET RD=RD+ 2: GOSUB 1000 240 IF A$="9" THEN LET RM=1: LET RD-RD1: GOSUB 1000 250 IF AS " " THEN LET RM=0 260 IF RD=0 THEN LET RY=RY-RM 270 IF RD=1 THEN LET RX=RX-RM 280 IF RD=? THEN LET RY=RY +RM 290 IF RD=3 THEN LET RX-RX+RM 300 IF RX=HX AND RY=HY THEN GOTO 520 310 IF RX=CX AND RY=CY AND CD< >RD THEN GOTO 620 320 IF RX<0 OR RX>31 OR RY<0 OR RY>23 THEN LET M=M+1: LET MC=MC+1: GOTO 340 330 GOSUB 1200 340 LET J=0 350 SOUND 0,400,15 360 LET A$=INKEY$; IF A$="" AND J<20*L T HEN LET J=J+1: GOTO 360 370 IF J=20*L THEN LET CM=1: GOTO 390 380 IF ASC(A$)<141 AND ASC(A$) >143 THEN GOTO 360 390 IF CX>=D AND CX<32 AND CY>=D AND CY 24 THEN GOSUB 1500 400 IF CX=HX AND CY=HY THEN INK 10: CSR HX,HY: PRINT CHR$(90) 410 IF A$=CHR$(133) THEN LET CM=2: GOSU B 1100 420 IF A$=CHR$(134) THEN LET CM=1: LET CD=CD+1: GOSUB 1100 430 IF A$=CHR$(135) THEN LET CM=0 440 IF CD= THEN LET CY=CY-CM 450 IF CD=1 THEN LET CX=CX-CM 460 IF CD=2 THEN LET CY=CY+CM 470 IF CD=3 THEN LET CX=CX+CM 480 IF RX=CX AND RY=CY AND RD=CD THEN GOTO 600 490 IF RX=CX AND RY=CY AND RD< >CD THEN GOTO 620 500 IF CX<0 OR CX>31 OR CY<Ø OR CY>23 TH EN GOTO 150 510 GOSUB 1300: GOTO 150 520 SOUND 0,0,0: VS 5: PAPER 6: INK 15: CLS : PRINT : PRINT "ROBBERS ESCAPE". 530 IF MMKM THEN LET MM=M 540 IF LM>M THEN LET LM=M 550 PRINT PRINT "The game lasted moves" 560 PRINT : PRINT "Longest game is ";MM; " moves" 570 PRINT : PRINT "Shortest game is "ILM ;" moves" 580 CSR 6,20: PRINT "Press space bar to continue" 590 IF INKEY <>" " THEN GOTO 590 ELSE GOTO 30 600 SOUND 0,0,0: VS 4: PAPER 5: INK 15: CLS : PRINT : PRINT "ROBBERS CAPTURED" 610 GOTO 530 620 SOUND 0,0,0: VS 5: PAPER 1: INK 15: CLS : PRINT "COPS AND ROBBERS CRASHED HEAD-ON" 630 GOTO 530 1000 IF RD>3 THEN LET RD=RD-4 1010 IF RD<0 THEN LET RD=RD+4 1020 RETURN 1100 IF CD>3 THEN LET CD=CD-4 1110 RETURN 1200 CSR RX,RY: INK 9: PRINT CHR$(90);: RETURN 1300 CSR CX,CY: INK 4: PRINT CHR$(90);: RETURN 1400 CSR RX,RY: INK 1: PRINT CHR$(90);: RETURN 1500 CSR CX,CY: INK 1: PRINT CHR$(90);: RETURN 10 REM ** MIND OVER ELECTRONS ** 20 LET F=0: LET P=5: LET N=0 30 GENPAT 1,129,24,24,24,255,255,24,24,2 4: GENPAT 1,130,195,195,102,60,60,102,19 5,195 40 GENPAT 1,131,24,60,126,255,255,90,24,60: GENPAT 1,132,0,102,255,255,255,126,6 0.24 50 GENPAT 1,133,0,8,28,62,127,62,28,8: GENPAT 1,134,0,24,24,231,231,24,24,60 60 GENPAT 1,135,60,126,255,255,255,255,1 26,60: GENPAT 1,136,60,192,195,129,129,1 95,102,60 70 GENPAT 1,137,24,24,24,24,24,24,24,24: GENPAT 1,138,0,0,0,255,255,0,0,0 80 GENPAT 1,139,102,102,102,102,102,102,102,102: GENPAT 1,140,0,255,255,0,0,255,255,0 90 VS 5: CLS : PRINT 100 INPUT "Computer chooses?(Y/N) ";A$ 110 IF A$="Y" THEN LET F=1 MORE TO COME 10 REM ** NIMBLE THIMBLE ** 20 DIM B(2,42),(3,2) 30 CTLSPR 1,4: CTLSPR 2,3: CTLSPR 5,3: CTLSPR 6,2 40 GENPAT 1,129,195,102,60,24,24,60,102,195: GENPAT 1,130,255,132,136,144,168,19 7,130,132 50 GENPAT 1,131,255,33,17,9,21,163,65,33 : GENPAT 1,132,132,130,197,168,144,136,1 32,255 60 GENPAT 1,133,33,65,163,21,9,17,33,255 : GENPAT 1,134,255,128,128,128,134,137,1 36,132 70 GENPAT 1,135,255,1,1,1,97,145,17,33: GENPAT 1,136,132,130,130,129,128,128,128,255 80 GENPAT 1,137,33,65,65,129,1,1,1,255: GENPAT 1,138,0,0,0,0,56,68,130,129 90 GENPAT 1,139,0,0,0,0,4,2,1,1: GENPAT 1,140,128,128,64,32,0,0,0,0 100 GENPAT 1,141,129,65,34,28,0,0,0,0: GENPAT 1,142,3,4,8,0,0,0,0,0 110 GENPAT 1,143,192,32,16,16,16,32,64,128: GENPAT 1,144,1,2,4,8,8,8,4,3 120 GENPAT 1,145,0,0,0,0,0,16,32,192 130 GENPAT 4,1,3,15,31,31,21,51,12,51 140 GENPAT 5,1,12,51,108,123.127.63.15.3 150 GENPAT 6,1,192,240,248,240,204,48,20 4,48 160 GENPAT 7,1,204,48,206,62,254,252,240,192 170 vs 4: COLOUR 0,9: COLOUR 1,6; COLOUR 2,9: COLOUR 4,11: CLS 180 FOR J=1 TO 22 190 CSR 1,J: PRINT CHR$(129): CSR 30,J: PRINT CHR$(129); 200 NEXT 210 FOR J=1 TO 6: FOR K=0 TO 2 STEP 2 220 CSR 3,3*4-3+K/2 230 FOR L=1 TO 6 240 PRINT CHR$(134+K); CHR$(135+K); CHR$(138+K) ; CHR$(139+K); 250 NEXT : PRINT CHR$(134+K); CHR$(135+K) 260 NEXT : NEXT 270 FOR J=1 TO 3: FOR K=D TO 2 STEP 2 280 CSR 27,3*8-5+K/2: PRINT CHR$(142+K); CHR$(143+k) 290 NEXT : NEXT 300 FOR J=1 TO 2: FOR K=0 TO 2 STEP 2 310 CSR 3,3*8-1+K/2: PRINT CHR$(142+K);C HR$(143+K) 320 NEXT NEXT 330 CSR 3,21: PRINT CHR$(130); CHR$(131) 340 CSR 3,22: PRINT CHR$(132); CHR$(133) 350 FOR JE TO 28 STEP 14: FOR K=1 TO 7 360 LET B(1,J+K)=32+(K-1) *32 370 NEXT : NEXT 380 FOR J=7 TO 35 STEP 14: FOR K=1 TO 7 390 LET B(1,J+K)=224-(K-1) *32 400 NEXT : NEXT 410 FOR J=0 TO 35 STEP 7: FOR K=1 TO 7 420 LET B(2,J+K)=176-3/7*32 430 NEXT : NEXT 440 FOR J=1 TO 3 450 LET T(J,1)=INT(RND*29) +1: LET T(J,2) 460 NEXT : IF T(1,1)=T(2,1) OR T(2,1)=TI 3,11 OR T(3,1)=T(1,1) THEN GOTO 440 470 FOR J=1 TO 3 480 SPRITE 1,1,B(1,T(,1)),B(2,T(,1)),0,0,10+J 490 NEXT 500 COLOUR 4,3: LET P=1 510 LET A$=INKEY$: IF A$="" THEN GOTO 5 10 520 LET TP=ASC(A$)-127: IF TP<1 OR TP>3 THEN GOTO 510 530 IF T(TP,2)= 0 THEN GOTO 510 540 LET TN=T(TP,1)+1: LET F=0 SS0 FOR J=1 TO 3 560 IF T(3,1)=TN AND J<>TP THEN LET F=1 570 NEXT 580 IF F=1 THEN GOTO 510 590 LET TT=T(TP,1): IF INT(TT/7)=TT/7 TH EN RESTORE 1000: GOTO 620 600 IF TT>0 AND TT 7 OR TT)14 AND TT 21 OR TT)28 AND TT35 THEN RESTORE 1010: G OTO 620 610 RESTORE 1020 620 FOR J=1 TO 10 630 READ M: MVSPR 1,TPM 640 PAUSE 100 650 NEXT 660 LET T(TP,1)=TN 670 IF TN=42 THEN GOTO 710 680 IF P=2 THEN GOTO 500 690 COLOUR 4,13: LET P=2 700 GOTO 510 710 LET T(TP,1)=0: LET T(TP,2)=0 720 FOR J=1 TO 20 730 ADJSPR 1,TP,0: PAUSE 200 740 ADJSPR 1,TP,10+TP: PAUSE 200 750 NEXT : ADJSPR 1,TP,0 760 LET F=1: FOR J=1 TO 3 770 IF T(J,2)=1 THEN LET F=0 780 NEXT 790 IF F=U THEN GOTO 680 800 CSR 7,7 810 IF P=1 THEN COLOUR 1,12: PRINT "Green "; 820 IF P=2 THEN COLOUR 1,13: PRINT "Pur ple"; 830 PRINT "player wins" 840 IF INKEY$< " " THEN GOTO 840 850 CSR 7,7: PRINT" 860 GOTO 440 999 GOTO 999 1000 DATA 6,1,1,2,2,2,2,3,3,2 1010 DATA 6,7,7,0,0,0,0,1,1,2 1020 DATA 6,5,5,4,4,4,4,3,3,2 10 REM ** SANDCASTLE ** 20 POKE 64145,132: POKE 64862,13: CTLSPR 1,1: CTLSPR 2,6: CTLSPR 6,1 30 GENPAT 0,35,255,255,255,255,231,219,1 89,126: GENPAT 0,91,231,219,189,126,231,219,189,126: GENPAT 0,93,225,219,183,119,251,219,173,118 40 GENPAT 0,35,255,255,255,255,231,219,1 89,126: GENPAT 0,91,231,219,189,126,231,219,189,126: GENPAT 0,93,225,219,183,119,251,219,173,118 50 GENPAT 1,129,0,0,28,62,62,62,31,3: GE NPAT 1,130,0,0,0,0,0,0,248,4 60 GENPAT 1,131,2,2,2,2,2,3,2,5: GENPAT 1,132,132,68,100,104,176,32,96,160 70 GENPAT 1,133,5,6,4,12,116,244,244,108 : GENPAT 1,134,32,32,32,32,32,32,32,48 80 GENPAT 1,135,24,60,60,126,126,62,28,4 : GENPAT 1,136,0,0,0,0,0,0,56,196 90 GENPAT 1,137,0,0,0,96,240,120,240,104 : GENPAT 1,138,7,28,102,130,66,65,33,33 100 GENPAT 1,139,4,4,4,4,4,4,24,96: GENP AT 1,140,0,0,0,4,31,126,252,48 110 GENPAT 1,141,17,23,25,97,130,4,8,16: GENPAT 1,142,120,0,128,128,64,64,64,32 120 GENPAT 1,143,16,8,8,8,4,4,4,12: GENPAT 1,144,48,48,48,48,48,48,48,48 130 GENPAT 1,145,0,0,1,3,23,39,39,39: GENPAT 1,146,0,0,128,192,224,224,224,224 140 GENPAT 0,33,35,32,16,15,0,0,0,0: GENPAT 0,37,192,128,128,240,143,129,129,129 150 GENPAT 0,38,25,21,19,16,16,16,16,48: GENPAT 0,39,130,130,130,130,66,34,18,18 160 GENPAT 0,64,18,18,18,18,19,19,19,51: GENPAT 1,152,31,31,31,31,31,31,31,31 170 GENPAT 1,153,63,63,63,63,63,63,63,63 180 GENPAT 2,152,149,149,165,165,37,37,2 13,213: GENPAT 2,153,41,41,218,218,146,146,173,173: GENPAT 3,1,255,255,255,255,2 55,255,255,255 190 LET R=O: LET SC=22: VS 5: CLS : CSR 3,5: INPUT "Speed?(1-5) ";L 200 LET L=6-VAL(L): IF L 1 OR LS THEN GOTO 190 210 VS 4: COLOUR 0,15: COLOUR 2,5: COLOUR 4.8: CLS 220 FOR K=1 TO 9: READ X,Y,Z 230 CSR X,Y: LET N=Z: GOSUB 1900: NEXT 240 COLOUR 0,10: FOR K=1 TO 7 250 CSR 15-2*K,14+K: LET N=17+2*K: GOSUB 1000 260 NEXT 270 COLOUR 0,15: COLOUR 1,4: FOR K=1 TO 32: PRINT "[";: NEXT 280 SPRITE 1,1,168,95,0,0,5: SPRITE 2,1,184,95,0,0,5: SPRITE 3,1,200,95,0,0,5: S PRITE 4,1,168,79,0,0,5: SPRITE 5,1,184,7 9,0,0,5: SPRITE 6,1,200,79,0,0,5 290 COLOUR 0,10: FOR K=1 TO 3: READ X,Y,Z: CSR X,Y: LET N=Z: GOSUB 1000: NEXT 300 GOSUB 1100: COLOUR 0,5: COLOUR 1,15: CSR 25,3: LET N=INT(RND*10): PRINT N 310 LET J=0 320 LET F=0 330 LET A$=INKEY$: IF INKEY$="" THEN LET J=J+1: LET F=1: IF J<(1000*L) /(N+10) T HEN GOTO 320 340 CSR 26,3: PRINT " " 350 IF VAL(A$)=N AND F= THEN GOSUB 120 360 IF R>=24 THEN GOTO 400 370 GOSUB 1300 380 IF SC=15 THEN GOTO 500 390 GOTO 300 400 FOR J=1 TO 6: ADJSPR 1,0,0: NEXT 410 COLOUR 1,15: CSR 25,11: PRINT CHR$(1 45); CHR$(146);" 420 CSR 25,12: PRINT CHR$(33) ; CHR$(37);" 430 CSR 25,13: PRINT CHR$(38); CHR$(39);" 440 CSR 26,14: PRINT CHR$(64); " " 450 COLOUR 1,1: CSR 23,11: PRINT CHR$(14 460 CSR 23,10: PRINT CHR$(152); CHR$(153) 470 LET A$=INKEY$: IF A$" " THEN GOTO 470 480 IF A$="5" THEN POKE 64862,15: POKE 64145,160: STOP 490 CLS : RESTORE 2000: GOTO 190 500 FOR J=1 TO R: FOR S=1 TO 6 510 MVSPR 1,5,2 520 PAUSE 100: NEXT NEXT 530 GOTO 470 1000 FOR J=1 TO N 1010 PRINT " "; 1020 NEXT : RETURN 1100 COLOUR 0,5: COLOUR 1,15 1110 CSR 28,11: PRINT" " 1120 CSR 27,12: PRINT " ";CHR$(129); CHR$(130) 1130 CSR 27,13: PRINT " ";CHR$(131); CHR$(132) 1140 CSR 28,14: PRINT CHR$(133); CHR$(134 1150 RETURN 1200 COLOUR 0,5: COLOUR 1,15 1210 CSR 28,11: PRINT CHR$(135); CHR$(136 1220 CSR 27,12: COLOUR 1,10: PRINT CHR${ 137);: COLOUR 1,15: PRINT CHR$(138); CHR$(139) 1230 CSR 27,13: PRINT CHR$(140); CHR$(141 ); CHR$(142) 1240 CSR 28,14: PRINT CHR$(143) 1250 PAUSE 500 1260 GOSUB 1100 1270 LET AD=INT((N+3)/3): LET R=R+AD 1280 FOR M=1 TO AD: FOR S=6 TO 1 STEP -1 : MVSPR 1,5,6; NEXT : NEXT 1290 RETURN 1300 LET SC=SC-.5: LET W=91: IF SC>INT(S C) THEN LET W=35 1310 SOUND 3,4,15 1320 COLOUR ®,15: COLOUR 1,4 1330 FOR J=1 TO 32: CSR J-1,INT(SC) 1340 PRINT CHR$(W); CHR$(93): PAUSE 200; NEXT 1350 SOUND 3,0,0 1360 RETURN 2000 DATA 13,2,3,9,3,8,8,4,9,9,5,9,13,6,3 2010 DATA 3,8,3,2,9,6,2,10,7,4,11,5 2020 DATA 23,12,1,22,13,3,21,14,5 10 REM ** BOMBING RUN ** 20 DIM R(12),5X(24),SY(24): LET Q=64092: LET R=64096: GENPAT 3,1,56,60,122,254,2 55,127,60,123: GENPAT 3,2,58,28,24,56,24,24,60,126 30 GENPAT 3,3,8,60,126,255,169,255,173,2 53: GENPAT 3,4,28,60,126,126,60,24,24,60 40 GENPAT 3,5,0,24,60,126,60,24,24,60: G ENPAT 3,6,64,224,64,224,160,224,224,234 50 GENPAT 3,7,254,213,213,213,213,255,19 1,191: GENPAT 3,8,24,42,40,122,217,40,11 6,10 60 GENPAT 3,9,254,146,146,255,146,255,16 6,231: GENPAT 3,10,36,36,54,255,73,255,7 3,255 70 GENPAT 3,11,0,128,192,192,224,255,255,0: GENPAT 3,12,3,3,3,3,67,255,255,0 80 GENPAT 3,13,0,128,192,224,240,254,255,2: GENPAT 3,14,41,170,92,61,30,157,93,7 90 GENPAT 3,15,44,157,223,62,156,93,62,255: GENPAT 3,16,0,0,60,30,62,28,8,28 100 GENPAT 3,17,0,0,34,119,93,127,85,119 : GENPAT 3,18,0,0,16,56,84,254,182,246 110 GENPAT 3,19,0,0,32,118,119,119,34,34 : GENPAT 3,20,0,0,0,22,127,127,50,34; GENPAT 3,21,0,0,66,255,165,255,173,189 120 GENPAT 3,22,0,0,0,24,126,90,90,126: GENPAT 3,23,0,0,0,0,16,118,255,82 130 GENPAT 1,129,0,0,0,0,0,3,208,255: GE NPAT 1,130,16,48,96,96,96,48,59,28: LET BY=90 140 LET B=0: LET BY=90: LET FB=0: LET SE O: LET TX=0: LET Z=0: LET U=1: LET T=2: LET E=8: LET TE=10: LET F=15: LET ST=72: LET H=100 150 VS 5: CLS : PRINT "LEVEL?(1-5) " 160 LET L=ASC(INKEY$)-48: IF L 1 OR 25 THEN GOTO 160 170 VS 4: COLOUR 0,4: COLOUR 1,1: COLOUR 2,4: COLOUR 4,1: CLS 180 GOSUB 2000 190 CTLSPR 0,10-L: CTLSPR 2,32: CTLSPR 3,32: CTLSPR 4,32: CTLSPR 5,32: CTLSPR 6, 200 SPRITE 1,1,R(1),23,-128,0,3: SPRITE 2,2,R(1),7,-128,0,6 210 SPRITE 3,3,R(2),7,-120,0,9: SPRITE 4,4,R(3),7,-115,0,12 220 SPRITE 5,5,R(4),7,-110,0,2: SPRITE 6,6,R(5),23,-105,0,14 230 SPRITE 7,7,R(5),7,-105,0,14: SPRITE 8,8,280,100,0,0,15 240 SPRITE 9,8,280,100,0,0,15: SPRITE 10,8,280,100,0,0,15 250 SPRITE 11,8,280,100,0,0,15; SPRITE 1 2,8,280,100,0,0,15 260 SPRITE 13,9,R(6) +100,7,0,0,6; SPRITE 14,10,R(6) +116,7,0,0,6: LET TXER(6) +100 : LET CD=9 270 SPRITE 15,11,72,BY,0,0,1: SPRITE 16,12,88,BY,0,0,1: SPRITE 17,13,104,BY,0,0, 280 SPRITE 18,14,280,23,0,0,14: SPRITE 19,15,280,7,0,0,10 290 SPRITE 20,8,280,100,0,0,15: SPRITE 21,8,280,100,0,0,15 300 SPRITE 22,8,280,100,0,0,15: SPRITE 2 3,8,280,100,0,0,15 310 SPRITE 24,8,280,100,0,0,15: SPRITE 2 5,16,R(9),7,-75,0,1 320 SPRITE 26,17,R(8),7,-60,0,1: SPRITE 27,18,R(9),7,-50,0,1 330 SPRITE 28,19,R(10),7,-50,0,1: SPRITE 29,20,R(11),,-40,0,1 340 SPRITE 30,21,R(12),7,-30,0,1: SPRITE 31,22,256,7,-10,0,1: SPRITE 32,23,300,7,-20,0,1 350 CSR 0,23: FOR J=1 TO 32: PRINT CHR$( 129);: NEXT : CSR 25,6: COLOUR 1,10: PRI NT CHR$(130) 360 LET J=1 370 SOUND T,40,F: PAUSE H: SOUND T,1,Z 380 LET RA=INT(RND*20): IF RAXL*3 THEN GOTO 420 390 LET RB=INT(RND*T)*12: LET RC=INT(RND *5) +E+RB: IF SX(RC) >F THEN GOTO 420 400 LET RD=INT(RND*80)+140: LET RE=INT(R ND*H) +50: ADJSPR U,RC,F: ADJSPR T,RC,RD: ADJSPR 3,RC,RE: SOUND 3,4,F: PAUSE H: SOUND 3,1,Z 410 ADJSPR U,RC,U: LET SX(RC)=RD: LET SY(RC)=RE-E 420 LET A$=INKEY$: IF A$=" - AND FB=Z TH EN LET FB=U: LET B=B+U: SOUND 7,30,240,5,1,T*BY,U: SOUND 4,40,240,5,7,T*BY,U: PAUSE 20 430 GOSUB 4000 440 LET FH=Z: FOR K=E TO 12: GOSUB 3000: NEXT : IF FH=U THEN GOTO 580 450 FOR K=20 TO 24: GOSUB 3000: NEXT : I F FH=U THEN GOTO 580 460 GOSUB 4000 470 LET A$=INKEY$: IF A$=CHR$(134) THEN LET BY=BY+TE: IF BY190 THEN LET BY=19 480 IF A$=CHR$(135) THEN LET BY=BY-TE: IF BYPEEK(64096) THEN GO TO 590 600 SOUND 0,0,0: SOUND 1,0,0: PRINT : PR INT "You dropped";B;" bombs and" 610 PRINT : PRINT "scored";S;" hits." 620 CSR 2,20: PRINT "Press Space Bar for the next mission" 630 IF INKEY$<" " THEN GOTO 620 640 FOR J=1 TO 24: LET SX(J)=0: LET SY(J )=0: NEXT 650 PAPER 5: INK 15: GOTO 140 660 CLS : CTLSPR 2,0: SOUND 2,0,0: VS 5: PAPER 7: INK 12: CLS 670 PRINT : PRINT "You flew too low,and crashed." 680 GOTO 590 2000 FOR K=1 TO 12 2010 LET R(K)=INT(RND*1000) +250 2020 NEXT RETURN 3000 IF SX(K)E THEN RETURN 3020 IF SX(K) >72 AND SX(K) CH THEN LET F H=U 3030 RETURN 4000 IF PEEK(Q)<>PEEK(R) OR FROZ THEN RETURN 4010 LET FB=Z 4020 SOUND 2,2,Z: SOUND U,2,Z 4030 ADJSPR 0,18,14: ADJSPR U,19,TE: ADJ SPR 1,18,ST-BY/TE: ADJ SPR T,19,5T-BY/TE: ADJSPR 3,18,23: ADJSPR 4,18,155: ADJSPR 4,19,155: ADJSPR 5,18,2 4040 FOR V=F TO Z STEP -5 4050 SOUND 3,6,J 4060 PAUSE 50 4070 NEXT SOUND 3,1,Z 4080 ADJSPR 4,18,14: ADJSPR 0,19,0: ADJS PR 5,18,80 4090 IF TX>60-BY/TE AND TX "" THEN LET KF=U 200 LINE M(A,U),M(A,TW),SF,HS: LINE N(B),M(B,TW),HN,HS 210 LET A=A+MA: LET B=B+MB 220 IF ACS(SA,U) -MA OR AXS(SA,TW) -MA THE N LET MA-MA 230 IF BS(SB,TW) -MB THE N LET MB=-MB 240 IF INKEY$=" " AND FG=Z THEN LET MB= -8: LET SB=TS: LET FG=W 250 LET L=L+U: IF L>TY AND SB>TW AND Y=U THEN LET SB=SB-U: LET MB=S(SB,TE) *SGN( MB): LET L=Z 260 IF INKEY$="J" AND KF=U THEN LET FF= U: IF N(B)-M(AU) JD THEN LET Ya-Y: LET SC=SC+U: LET JD=JD-TW: LET FF=Z 270 IF Y=U AND SAKTS THEN LET SA=SA+U: LET MA=S(SA,TE) *SGN(MA) 280 IF Y=-U AND SBTY THEN LET L=Z 310 CSR 12,TY: IF Y=1 THEN PRINT "-";SC; " " ELSE PRINT " "; SC;" -" 320 IF JD 90 THEN GOTO 360 330 IF FF=Z THEN GOTO 190 340 CSR 2,7: PRINT "You fell after"; SC;"jumps" 350 GOTO 370 360 CSR 2,7: PRINT "Time to rest,after" ; SC;" jumps" 370 IF SC>BJ THEN LET BJ=SC 380 CSR 2,10: PRINT "Best score is";BJ;" jumps" 390 IF INKEY$< " " THEN GOTO 390 400 CLS : GOTO 150 The program 10 REM ** SNIPERS ** 2 0 DIM S(56,4): LET SM=0 30 CTLSPR 1,64: CTLSPR 2,5: CTLSFR 6,1 40 GENPAT 3,1,224,128,128,2,2,2,31,2 50 GENPAT 3,2,2,2,128,128,224,0,0,0 60 GENPAT 3,3,56,8,8,0,0,0,192,0 70 GENPAT 3,4,0,0,8,8,56,0,0,0 80 GENPAT 3,5,0,0,0,0,24,24,0,0 90 vs 5: CLS ; CSR 3,3: INPUT "Level?(1-10) ";L$ 100 LET L=VAL(L$): IF L 1 OR L>10 THEN GOTO 90 110 VS 4: COLOUR 2,10: COLOUR 4,13: CLS 120 CSR 0,0: FOR J=1 TO 176 130 READ NEC 140 FOR K=1 TO N 150 COLOUR 0,C: PRINT " "; 16 NEXT NEXT 170 FOR J=1 TO 56: READ S(3,1); READ S(J,2): NEXT 180 FOR K=1 TO 30-L*2 190 LET R=INT(RND+56)+1 200 LET S(R.3)=1 210 NEXT 220 LET SU=0: LET SS=0: LET SN=0: LET TE 0 LET XX=31: LET YY=176 230 FOR J=1 TO 56: IF S(1,3)=0 THEN LET SU=SU+1 240 NEXT 250 SPRITE 1,1,31,176,0,0,15: SPRITE 2,2,31,160,0,0,15 260 SPRITE 3,3,47,176,0,0,15: SPRITE 4,4,47,160,0,0,15 270 SPRITE 5,5,0,0,0,0,0 280 LET SP=INT(RND*56)+1 290 IF S(SP,3)=1 THEN GOTO 350 300 LET S(SP,4)=T 310 ADJSPR 2,5,S(SP,1)+4: ADJSPR 3,5,S(5 P,2)-4: ADJSPR 1,5,15 320 SOUND 3,4,15: PAUSE 100: SOUND 3,0,0 330 ADJSPR 1,5,0 340 LET SS=SS+1 350 FOR R=1 TO 10-INT(L/2): LET A$=INKEY 360 LET A=ASC(A$) 370 IF A$=" " THEN GOTO 520 380 IF A=25 THEN LET XX=XX+8 390 IF A=11 THEN LET YY=YY+8 400 IF A=10 THEN LET YY=YY-8 410 IF A=8 THEN LET XX=XX-8 420 IF XX<7 THEN LET XX=7 430 IF XX>239 THEN LET XX=239 440 IF YY<16 THEN LET YY=16 450 IF YY>192 THEN LET YY=192 460 ADJSPR 2,1,XX: ADJSPR 3,1,YY 470 ADJSPR 2,2,XX: ADJSPR 3,2,YY-16 480 ADJSPR 2,3,XX+16: ADJSPR 3,3,YY 490 ADJSPR 2,4,XX+16: ADJSPR 3,4,YY-16 500 LET T=T+10 510 GOTO 570 520 FOR J=1 TO 56 530 SOUND 3,6,15: LET T=T+1 540 IF S(3,1)=XX+1 AND 8(1,2)=YY AND T-S(3,4)<700-40*L THEN LET S(3,3)=1: LET S N=SN+1: SOUND 0,100,15: PAUSE 200: SOUND 550 PAUSE 10: SOUND 3,6,0: PAUSE 10 560 NEXT 570 NEXT : IF SN=SU-5 THEN GOTO 660 580 IF SS<150 THEN GOTO 280 590 VS 5: CLS : CSR 3,3: PRINT "They got you at last!!" 600 CSR 3,9: PRINT "But you hit "; SN;" of them." 610 IF SMK SN THEN LET SM=SN 620 CSR 3,9: PRINT "The best score is "; SM; "." 630 CSR 5,20: PRINT "Key 'Y' to shoot again" 640 IF INKEY$<> "y" THEN GOTO 640 650 RESTORE 1000: GOTO 90 660 VS 5: CLS : CSR 3,3: PRINT "Well done!! " 670 CSR 3,6: PRINT "You hit ";SN;" snipers," 680 PRINT " leaving 5 alive,who surrendered." 690 GOTO 610 1000 DATA 72,5,1,2,4,5,2,8,2,5,1,8,16,5,3,2,7,5,4,8 1010 DATA 1,5,1,8,15,5,4,2,6,5,7,8,16,5,4,2,3,5,10,8 1020 DATA 3,5,2,3,3,5,4,14,3,5,4,2,4,5,8,8,2,5,5,3 1030 DATA 2,5,5,14,1,5,5,2,4,5,1,8,2,1,2,8,2,1,1,8 1040 DATA 2,5,7,3,6,14,5,2,4,5,8,8,2,5,7,3,5,14,6,2 1050 DATA 4,5,1,0,2,1,2,8,2,1,1,0,2,5,7,3,5,8,5,2. 1060 DATA 2,5,1,8,2,5,8,8,2,5,7,3,2,8,2,1,2,8,4,2 1070 DATA 1,5,3,8,1,5,8,8,2,5,7,3,2,8,2,1,2,8,1,5,3,2 1080 DATA 2,8,1,1,3,8,2,1,2,8,2,1,1,8,3,5,6,3,6,8 1090 DATA 1,5,3,2,13,8,3,5,5,3,1,5,2,8,2,1,2,8,2,5 1100 DATA 1,6,1,5,1,8,1,1,1,8,1,1,7,8,5,5,2,6,2,5 1110 DATA 2,8,2,1,2,8,2,5,1,6,1,5,6,8,2,1,2,8,2,1 1120 DATA 1,8,5,5,2,6,2,5,6,8,2,5,1,0,1,5,18,8,2,6 1130 DATA 8,8,2,12,1,6,1,12,18,8,2,6,4,8,2,1,2,8,2,12 1140 DATA 1,6,1,12,1,8,2,1,5,8,2,1,8,8,2,6,4,8,2,1 1150 DATA 2,8,2,12,1,1,1,12,1,8,2,1,5,8,2,1,8,8,2,6 1160 DATA 4,8,2,1,2,8,2,12,1,6,1,12,1,8,2,1,5,8,2,1 1170 DATA 8,8,2,6,2,8,28,10,2,6 2000 DATA 56,168,168,168,120,160,184,160,16,152,40,136,72,136,128,136,136,136,160,136,168,136 2010 DATA 216,136,240,128,128,120,136,12 0,160,120,168,120,208,120,56,104,112,104,232,104,16,96 2020 DATA 24,96,96,96,128,96,136,96,160,96,168,96,216,96,16,80,88,80,104,80,24,72 2030 DATA 128,72,136,72,160,72,168,72,20 0,72,240,72,48,64,72,64,216,56,16,48,88,48 2040 DATA 152,48,240,48,24,40,56,40,144,40,24,32,72,32,96,32,152,32,216,24,40,16,176,16 10 REM ** BALL MAZE ** 20 DIM H(2012) 30 CTLSPR 1,8: CTLSPR 2,2: CTLSPR 6,0 40 GENPAT 1,129,0,60,126,126,126,126,60,0: GENPAT 1,151,255,255,255,255,255,255,255,255 50 GENPAT 1,131,0,60,126,102,102,126,60,0: GENPAT 1,132,0,126,126,126,126,126,12 6,0 60 GENPAT 3,1,24,60,126,219,153,24,24,24 : GENPAT 3,2,24,48,96,255,255,96,48,24 70 VS 4: CLS : COLOUR 0,15: COLOUR 1,4: COLOUR 2,4: COLOUR 4,4 80 CSR 0,0: FOR J=0 TO 23 90 READ A$ 100 FOR K=O TO 31: IF K=31 AND J=23 THEN GOTO 120 110 IF A$(K+1)="1" THEN PRINT " "; ELSE PRINT CHR$(151); 120 NEXT : NEXT 130 COLOUR 1,1: FOR J-1 TO 30 140 READ H(J,1); READ H(1,2): CSR H(J,1),H(J,2): PRINT CHR$(129) 150 NEXT 160 COLOUR 1,8: CSR 1,1: PRINT CHR$(131) 170 LET X=1: LET Y=1: LET NX=1: LET NY=1 180 COLOUR 1,2: CSR 29,21: PRINT CHR$(132) 190 COLOUR 1,13: CSR 31,12: PRINT "*" 200 CSR 15,23: PRINT "*"; 210 SPRITE 1,1,124,4,0,0,0: LET SX=124 220 SPRITE 2,2,252,92,0,0,0: LET SY=92 230 CLOCK "000000": LET AX=0: LET AY=0: LET VX=0: LET VY=0 240 IF AX< > 0 THEN ADJSPR 1,1,0 250 IF AY<>0 THEN ADJSPR 1,2,0 260 LET AFASC(INKEY$) 270 IF A=25 AND AX<0 OR A=8 AND AX>O THE N LET AX=0 . 280 IF A=25 AND AX<10 THEN LET AX=AX+1 290 IF A=8 AND AX-10 THEN LET AX=AX-1 300 IF A=10 AND AY0 OR A=11 AND AY0 THEN LET AY=0 310 IF A=10 AND AY<10 THEN LET AY=AY+1 320 IF A=11 AND AYX-10 THEN LET AY=AY-1 330 IF AX<>0 THEN ADJSPR 2,1,SX+8*AX: ADJSPR 1,1,13 340 IF AY<>0 THEN ADJSPR 3,2,SY-8*AY: ADJSPR 1,2,13 350 LET VX=VX+AX*2: LET VY=VY+AY*2 360 IF ABS(VX) >10 THEN LET NX=X+1*SGN(V X): LET VX=0 370 IF ABS(VY) >10 THEN LET NY=Y+1*SGN(V Y): LET VY=0 380 CSR NX,Y 390 LET CX=ASC(SPK$) 400 CSR X NY: LET CY=ASC(SPK$) 410 CSR NX,NY: LET CZ=ASC(SPK$) 420 IF CX=129 OR CY=129 OR CZ=129 THEN GOTO 500 430 IF CX=151 THEN LET VX=0: LET NX=X 440 IF CY=151 THEN LET VY=0; LET NY=Y 450 IF CZ=151 THEN LET VX=0; LET VY=0; LET NX=X: LET NYKY 460 IF CX= 132 OR CY=132 THEN GOTO 610 470 CSR X,Y: PRINT "". CSR NX,NY: PRINT CHR$(131) 480 LET X=NX: LET Y=NY 490 GOTO 240 500 CSR X,Y: PRINT "" 510 IF AX<> 0 THEN ADJSPR 1,1,0 520 IF AY<> 0 THEN ADJSPR 1,2,0 530 SOUND 0,400,160,50,0,100,1 540 GOSUB 3000 550 SOUND 0,1000,240,0,-15,70,1 560 GOSUB 3000 570 SOUND 0,0,0 580 LET AX=0: LET AY=O: LET VX=0: LET VY 590 LET X=1: LET Y=1: LET NX=1: LET NY=1 600 GOTO 210 610 CLS VS 4: CLS 620 LET T=VAL(MID$(TIME$,3,2)) 630 CSR 3,3: ADJSPR 1,1,0: ADJSPR 1,2,0 640 PRINT "You won! - in ";T;" minutes" 650 GOTO 650 1000 DATA 000000000000000000000000000000 00 1010 DATA 011111111111111111110111010101 1020 DATA 000000010000000000000101010101 01 1030 DATA 011111011111011111111101011101 01 1040 DATA 010001010001010000000001010101 01 1050 DATA 011101111101111101110111010101 01 1060 DATA 000100010101000001010101010101 1070 DATA 010111010101011101010101010111 01 1080 DATA 010001010101010101010100010100 1090 DATA 010111010100010111010101110101 01 1100 DATA 011100010101010000010101000001 1110 DATA 010111010101111111011111011111 1120 DATA 010001000100010101000100010000 1130 DATA 010111111101110101110101010111 1140 DATA 010100000001000101000001010101 01 1150 DATA 011111111111011101011101111101 01 1160 DATA 010100000000010001010101000001 1170 DATA 010101111111011111010101110111 01 1180 DATA 011101000001010000010101010101 01 1190 DATA 010101011111110111010101010101 1200 DATA 010101000000000101000100010100 01 1210 DATA 010101111111111101111111110111 01 1220 DATA DO000000000000000000OOOOOOOOOO 1230 DATA 000001111111111111111111110000 2000 DATA 19,1,25,1,29,1,15,5,1,7,23,7,11,8,27,9,29,9,7,11 2010 DATA 11,11,21,13,23,13,15,15,3,17,29,18,7,19,19,19,23,19,1,21 3000 IF PEEK(64082/<>PEEK(64086) THEN GOTO 3000 3010 RETURN 10 REM ** NINE MEN MORRIS ** 20 DIM M(7,24),P(2,9): LET X=1: LET Y=1: LET NX=1: LET NY=1: LET M=2: LET P=O 30 LET F7=0: FOR K=1 TO 24: FOR J=1 TO 7 : READ MOJ,K): NEXT 1 NEXT 40 VS 4: COLOUR 0,2: COLOUR 1,15: COLOUR 2,11: COLOUR 3,2: COLOUR 4,8: CLS 50 FOR JE TO 2 60 PLOT 60+24*J,172-24*J: ANGLE 0 70 FOR K=1 TO 4 80 DRAW 144-48*J: PHI -1.57 90 NEXT NEXT 100 LINE 132,172,132,124: LINE 132,76,13 2,28 110 LINE 60,100,108,100: LINE 156,100,20 4,100 120 FOR J=1 TO 24 130 CSR M(6,J),M(7,3): PRINT "" 140 NEXT 150 POKE 64145,132: POKE 64862,13: GOSUB 900 160 IF P=10 THEN LET P=1 170 LET K=0: COLOUR 2, 180 LET K=K+1: IF K=25 THEN LET K=1 190 CSR M(6,K),M(7,K); IF ASC(SPK$)<>32 THEN GOTO 180 200 CSR M(60,K),M(7,K): PRINT "?" 210 LET A$=INKEY; IF A$="" THEN GOTO ? 220 IF A$=" - THEN CSR M(6,K),M(7,K): PRINT " ": PAUSE 500: GOTO 180 230 IF A$="/" THEN GOTO 250 240 GOTO 210 250 COLOUR 0,11-M*3: CSR M(6,K),M(7,K): PRINT CHR$(P+48) 260 LET M(1,K)=P+10*(M-1): LET PIM,P)=1 270 GOSUB 1000 280 IF F7=7 THEN GOTO 630 290 IF NOT(P=9 AND M=2) THEN GOTO 150 300 GOSUB 900 310 LET FB=1 320 FOR K=1 TO 24 330 LET MM=M(1,K) 340 IF MM=O OR MM>10 AND M=1 OR MM< 10 AN D M=? THEN GOTO 380 350 FOR J=2 TO 5 360 IF M(J,K) >0 THEN IF M(1,M(J,K))=0 THEN LET FB=0 370 NEXT 380 NEXT 390 COLOUR 4,11-M*3: IF FB=1 THEN GOTO 650 400 CSR 3,22: PRINT "Which piece?" 410 GOSUB 1800 420 IF P(M,A)<>1 THEN GOTO 410 430 LET K=1 440 IF M(1,K)<>A+10*(M-1) THEN LET K=K+ 1: GOTO 440 450 LET FB=1: FOR J=2 TO 5: IF M(J,K)<>0 THEN IF M(1,M(J,K))=D THEN LET FB=0 460 NEXT 470 IF FB=1 THEN GOTO 400 480 CSR 3,22: PRINT "Which move?" 490 LET A$=INKEY$: IF A$="" THEN GOTO 490 500 IF A$="5" THEN LET D=2: GOTO 550 510 IF A$="," THEN LET D=3: GOTO 550 520 IF A$="3" THEN LET D=4: GOTO 550 530 IF A$="1" THEN LET D=5: GOTO 550 540 GOTO 490 550 IF M(D,K)=D THEN GOTO 400 560 IF M(1,M(D,K)) > 0 THEN GOTO 400 570 COLOUR 0,11: CSR 3,22: PRINT " 580 COLOUR 0,2: CSR M(6,K),M(7,K): PRINT 590 COLOUR 0,11-3*M: CSR M(6,M(D,K)),M07 M(D,K)): PRINT CHR(A+48) 600 LET M(1,K)=0: LET M(1,MD,K) )=A+10*(M-1): LET P=A 610 GOSUB 1000 620 IF F7<7 THEN GOTO 300 630 CSR 3,22: PRINT "Seven men removed - you WIN" 640 GOTO 660 650 CSR 3,22: PRINT "All moves blocked - you LOSE" 660 IF INKEY$="" THEN GOTO 640 670 IF A$="S" OR A$="s" THEN POKE 64145,160: POKE 64862.15: STOP 680 RESTORE 2000: LET P=0: GOTO 30 900 IF M=2 THEN LET M=1: LET MX=2: COLOUR 0,8: COLOUR 4,8: LET P=P+1: RETURN 910 LET M=2: LET MX=1: COLOUR 0,5: COLOUR 4,5: RETURN 1000 LET FT=0 1010 FOR K=2 TO 23 1020 IF M(2,K)=0 OR M(3,K)=0 THEN GOTO 1040 1030 LET PA=1: GOSUB 1500 1040 IF M(4,K)=0 OR M(5,K)=U THEN GOTO 1060 1050 LET PA=3: GOSUB 1500 1060 NEXT 1070 IF FT=0 THEN RETURN 1080 CSR 3,22: PRINT "Take one piece" 1090 GOSUB 1800 1100 IF P(MX,A)=1 THEN GOTO 1120 1110 GOTO 1090 1120 COLOUR 0,11: CSR 3,22: PRINT " 1130 LET P(MX,A)=2 1140 FOR K=1 TO 24 1150 IF M(1,K)=A+10*(MX-1) THEN LET M(1,K)=O: COLOUR 0,2: CSR M(6,K),M(7,K): PRINT " ! 1160 NEXT 1170 LET F7=0: FOR J=1 TO 9 1180 IF P(MX,J)=2 THEN LET F7=F7+1 1190 NEXT 1200 RETURN 1500 IF M(1,K)=0 OR M(1,M(PA+1,K))=0 OR M(1,M(PA+2,K))=0 THEN RETURN 1510 LET FM=U: IF M(1,K) >10 THEN LET FM =FM+1 1520 IF M(1,M(PA+1,k) > >10 THEN LET FM=F M+1 1530 IF M(1,M(PA+2,K)) >10 THEN LET FM=F M+1 1540 LET PP=P+10*(M-1) 1550 LET FP=O: IF M(1,K)=PP OR M(1,M(PA+ 1,K) )=PP OR M(1,M(PA+2,K))=PP THEN LET FP=1 1560 IF M=1 AND FP=1 AND FM=D THEN LET FT=1 1570 IF M=2 AND FP=1 AND FM=3 THEN LET FT=1 1580 RETURN 1800 LET A$=INKEY$: IF A$="" THEN GOTO 1800 1810 IF A$="5" OR A$="S" THEN POKE 6414 5,160: POKE 64862,15: STOP 1820 LET A=VAL(A$): IF A1 OR AXO THEN GOTO 1800 1830 RETURN 2000 DATA 0,0,19,2,0,7,2,0,0,5,3,1,16,2,0,0,15,0,2,25,2 2010 DATA 0,0,11,5,6,10,5,0,2,8,6,4,16,5,0,0,14,0,5,22,5 2020 DATA 0,0,12,8,0,13,8,0,5,0,9,7,16,8,0,0,13,0,8,19,8 2030 DATA 0,1,22,11,0,7,11,0,4,19,12,10,10,11,0,7,16,0,11,13,11 2040 DATA 0,9,18,14,0,19,11,0,6,21,15,13,22,11,0,3,24,0,14,25,11 2050 DATA 0,12,0,17,0,13,14,0,0,20,18,16,16,14,0,13,0,0,17,19,14 2060 DATA 0,11,0,20,0,10,17,0,17,23,21,1 9,16,17,0,14,0,0,20,22,17 2070 DATA 0,10,0,23,0,7,20,0,20,0,24,22,16,20,0,15,0,0,23,25,20 10 REM ** PIN TABLE ** 20 DI I(24.18) 30 FOR J=1 TO 24 40 FOR K=2 TO 18 50 READ T(J,K) 60 NEXT 70 NEXT 80 GENPAT 1,129,0,60,126,126,126,126,60, 90 GENPAT 1,130,0,24,60,189,189,189,153,126 100 GENPAT 1,131,60,66,189,165,165,189,6 6,60 110 VS 4: COLOUR 0,10: COLOUR 2,15: COLOUR 4,10: CLS 120 FOR J=0 TO 23 130 CSR 0,J: PRINT " ; : CSR 19,J: PRIN T " ": 140 NEXT 150 COLOUR 0,15: FOR JEO TO 23: FOR K=2 TO 18 160 LET C=T(J+1,K) 170 IF C<100 THEN GOTO 230 180 IF C=1500 THEN COLOUR 1,1: CSR K,J: PRINT CHR$(130) 190 IF C=1000 THEN COLOUR 1,13: CSR K,J : PRINT CHR$(130) 200 IF C=500 THEN COLOUR 1,4: CSR K,J: PRINT CHR$(130) 210 IF C=200 THEN COLOUR 1,8: CSR K,J: PRINT CHR$(131) 220 IF C=100 THEN COLOUR 1,2: CSR K,J: PRINT CHR$(131); 230 NEXT : NEXT 240 LET P$="*********" 250 COLOUR 1,4: CSR 22,1: PRINT "PIN TABLE" 260 COLOUR 1,1: CSR 23,3: PRINT CHR*(130 );" 1500" 270 COLOUR 1,13: CSR 23,4: PRINT CHR$(13 0);" 1000" 280 COLOUR 1,4: CSR 23,5: PRINT CHR$(130 );" 500" 290 COLOUR 1,8: CSR 23,6: PRINT CHR$(131 ):" 200" 300 COLOUR 1,2: CSR 23,7: PRINT CHR$(131 );" 200" 310 COLOUR 1,8: CSR 22,9: PRINT P$ 320 COLOUR 1,4: CSR 22,11: PRINT "BALL 330 COLOUR 1,8: CSR 22,13; PRINT P$ 340 COLOUR 1,4: CSR 22,15: PRINT "SCORE" 350 CSR 25,17: PRINT "000" 360 COLOUR 1,8: CSR 22,19: PRINT P$ 370 COLOUR 1,4: CSR 22,21: PRINT "TOP" 380 CSR 25,22: PRINT "000" 390 LET S=0: LET SM=0: FOR J=1 TO 8 400 GOSUB 1000: COLOUR 1,4: CSR 29,11: PRINT J 410 LET X=2: LET Y=: LET VX=1: LET VY=1 : LET NX=3: LET D=0: LET SN=0 420 LET NX=X+VX 430 IF VX=1 THEN CSR X,0: PRINT " ";CHR $(129) 440 IF VX=-1 THEN CSR X,0: PRINT CHR$(129);"" 450 LET XENX: GOSUB 1000 460 IF X=18 AND VX=1 THEN LET X=17: LET VX=-1: GOTO 480 470 IF X=1 THEN LET X=2: LET VX=1 480 IF INKEY $="" THEN GOTO 420 ELSE CS R X+1,0: PRINT "" 490 LET P=T(Y+1,X) 500 LET RN=INT(RND*6) 510 IF P=12 THEN GOSUB 800: GOTO 680 520 IF P=15 THEN CSR X,Y: PRINT " ";: GOSUB 900: GOTO 680 530 IF P== AND VY=-1 AND RN 4 THEN LET VY=1: GOTO 620 540 IF P=3 OR P=7 THEN LET VX=0: GOTO 6 20 550 GOSUB 1000: IF P=4 AND RN>2 AND VX=0 THEN LET VX=4-RN 560 IF P=S OR P=6 THEN LET D=1 570 IF D=1 AND VY=1 AND RN>3 THEN LET V X=0: GOTO 620 580 IF P=1 OR P=5 OR P=9 THEN LET VX=-1 590 IF P=2 OR P=6 OR P=10 THEN LET VX=1 600 IF P>3 AND P 7 THEN LET VY=-1 610 IF P>7 AND P<11 THEN LET VY=1 620 GOSUB 850 630 LET NX=X+VX: LET NY=V+VY 640 CSR X,Y: PRINT " "; 650 CSR NX,NY: PRINT CHR$(129); 660 LET X=NX: LET Y=NY: LET D=0 670 GOTO 490 680 NEXT 690 IF SMPEEK(64086) THEN RETURN 1010 SOUND 0,0,0 1020 RETURN 2000 DATA 10,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,9 2010 DATA 2,0,0,0,0,0,0,5,12,6,0,0,0,0,0,0,1 2020 DATA 2,0,0,0,0,0,0,1,1500,2,0,0,0,0,0,0,1 2030 DATA 2,5,4,6,5,4,6,1,8,2,5,4,6,5,4,6,1 2040 DATA 2,1,200,2,1,100,2,1,200,2,1,100,2,1,200,2,1 2050 DATA 2,9,8,10,9,8,10,7,8,10,7,8,10,9,8,10,1 2060 DATA 2,0,0,0,0,5,12,6,0,5,12,6,0,0,0,0,1 2070 DATA 2,0,0,0,0,1,500,2,0,1,500,2,0,0,0,0,1 2080 DATA 2,0,0,5,4,0,8,0,4,0,8,0,4,6,0,0,1 2090 DATA 2,0,0,1,100,2,0,1,200,2,0,1,100,2,0,0,1 2100 DATA 2,0,0,9,8,0,12,0,8,0,12,0,8,10,0,0,1 2110 DATA 2,0,0,0,0,1,500,2,0,1,500,2,0,0,0,0,1 2120 DATA 2,0,0,0,0,9,8,10,0,9,8,10,0,0,0,0,1 2130 DATA 2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1 2140 DATA 2,0,0,5,12,6,6,5,12,6,6,5,12,6,0,0,1 2150 DATA 2,0,0,1,1500,2,0,1,1000,2,0,1,1500,2,0,0,1 2160 DATA 2,0,0,9,8,10,0,9,8,10,0,4,8,10,0,0,1 2170 DATA 2,5,4,6,00,0,5,4,7,4,6,0,0,5,416,1 2180 DATA 2,1,200,2,0,0,1,100,3,100,2,0,0,1,200,2,1 2190 DATA 2,9,8,10,0,0,7,8,8,8,10,0,0,9 2200 DATA 2,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 2210 DATA 3,4,7,12,7,4,7,12,7,12,7,4,7,1 2,7,4,3 2220 DATA 3,200,3,1000,3,100,3,1500,3,1500,3,100,3,1000,3,200,3 2230 DATA 15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15 10 REM ** SINGALONG 20 VS 4: CLS 30 CRVS 2,1,3,3,27,13,32: CRVS 3,1,3,20,14,1,32 40 vs 2: COLOUR 2,9: CLS : COLOUR 0,9: COLOUR 1,4: COLOUR 4,10 50 CSR 9,5: PRINT "SINGALONG": LET Z=0 60 RESTORE 3000 70 DIM A$(4,6): FOR J=1 TO 4: READ A$(J) : NEXT 80 DIM B$(4,8): FOR J=1 TO 4: READ B$(J) : NEXT 90 DIM C$(3,8): FOR J=1 TO 3: READ C$(J) : NEXT 100 DIM D$(3,8): FOR J=1 TO 3: READ D$(J): NEXT 110 DIM E$(2,3,30): FOR K=1 TO 3: FOR J= 1 TO 2: READ E$(J,K): NEXT : NEXT 120 DIM F$(2,3,35): FOR K=1 TO 3: FOR J=1 TO 2: READ F$(JK): NEXT : NEXT 130 DIM G$(3,2,20): FOR K=1 TO 2: FOR J= 1 TO 3: READ G$(J,K): NEXT : NEXT 140 DIM H$(5,15): FOR J=1 TO 5: READ H$(J): NEXT 150 DIM J$(6,6): FOR J=1 TO 6: READ J$(J): NEXT 160 DIM X$(2,8): LET X$(1)="called "; LET X$(2)=" of " 170 DIM Y$(3,8): LET Y$(1)=" always ": LET Y$(2)=" never ": LET Y$(3)=" seldom 180 DIM Z$(2,7): LET Z$(1)=" day": LET Z $(2)=" night" 190 RESTORE 2000: SBUF 42 200 FOR J=1 TO 42 210 READ PAD 220 IF P=99 THEN GOSUB 1000: SOUND 0,0,O: GOTO 240 230 SOUND 0,P,160,0,-12,D*15,1 240 NEXT 250 GOSUB 1000: SOUND 0,0,0 260 IF Z=0 THEN LET Z=1: GOTO 310 270 VS 3: COLOUR 2,7: CLS : COLOUR 0,73 COLOUR 1,15: COLOUR 4,10 280 PRINT "Again? "; 290 LET K$=INKEY$: IF K$="" THEN GOTO 290 300 IF K$="y" THEN GOTO 190 310 LET RA=INT(RND*4)+1; LET RB=INT(RND*4) +1: LET RC=INT(RND*3) +1: LET RD=INT(RN D*3)+1 320 LET RE=INT(RND*2)+1: LET RF=INT(RND*2) +1: LET RG=INT(RND*3) +1: LET RH=INT(RN D*5) +1: LET RJ=INT(RND*6)+1 330 LET RX=INT(RND*2)+1: LET RY=INT(RND*3)+1: LET RZEINT(RND*2)+1 340 VS 2: CLS 350 PRINT "There was a "; A*(RA); " ";B*(R B) 360 PRINT X$(RX);: IF RX=1 THEN PRINT C $(RC);"," ELSE PRINT D$(RD);"," 370 PRINT : PRINT "Who "; Y$(RY);: IF RX= 1 THEN PRINT E$(RE,RC);"," ELSE PRINT F$(RF,RD);"," 380 PRINT : PRINT "Then ";G$(RG,RZ);"," 390 PRINT PRINT "One ";H$(RH); " ";Z$(RZ);"," 400 PRINT : PRINT "That ";J$(RJ);" ";A$(RA);" ";B$(RB) 410 PRINT X $(RX);: IF RX=1 THEN PRINT C $(RC);"!" ELSE PRINT D$(RD);"!" 420 VS 3: COLOUR 2,7: CLS : COLOUR 0,7: COLOUR 1,15: COLOUR 4,10 430 PRINT "Singalong? "; 440 LET K$=INKEY$: IF K$="" THEN GOTO 4 40 450 IF K$="Y" THEN GOTO 190 ELSE GOTO 310 1000 IF PEEK(64082)<>PEEK(64086) THEN G OTO 1000 1010 RETURN 2000 DATA 3822,1,2863,2,2863,1,2863,1,28 63,2,3034,1,3405,1,3034,2,2551,3,99,0 2010 DATA 3822,1,2551,2,2551,1,2551,1,25 51,2,2863,1,3034,1,2863,2,2272,3,99,0 2020 DATA 2272,1,1911,2,1911,1,1911,1,19 11,2,99,0 2030 DATA 2272,1,2145,2,2145,1,2145,1,21 45,2,99,0 2040 DATA 2551,1,2272,2,1911,1,2272,1,21 45,2,2272,1,2551,1,2272,2,2863,4,99,0 3000 DATA fat,great,sly,bright 4000 DATA writer,loafer,artist,beauty 5000 DATA Nelly,Parkin,Neville 5010 DATA Luton,Ely,Norwich 6000 DATA threw bricks at the telly,ate ice cream and jelly 6010 DATA set all the dogs barking,was fooling and larking 6020 DATA said "I'm a real devil",was quite on the level 6030 DATA went huntin' and shootin',played Chess with his boots on 6040 DATA said "Is it true - really?",had eyes that were steely 6050 DATA ate mustard with porridge,lacked vigour and courage 7000 DATA spent all his pay,fell in the bay,joined the AA 7010 DATA died of sheer fright,put out the light,looked such a sight 8000 DATA terrible,cold frosty,ill fated,fabulous,memorable 9000 DATA stupid,clever,lazy,crafty,evil,pretty 10 REM ** COMPUTER CLUES ** 20 DIN 6,3) 30 DIM P(6,4) 40 GENPAT 1,129,0,126,126,126,126,126,126,0 50 GENPAT 1,130,0,60,126,102,102,126,60, 60 GENPAT 1,131,0,64,96,112,120,124,126, 70 GENPAT 1,132,0,24,24,126,126,24,24,0 80 GENPAT 1,133,0,126,126,24,24,126,126, 90 VS 5: CLS 100 CSR 3,3: INPUT "PIECES?(3-6) ";NP$ 110 LET NP=VAL(NP$): IF NP<3 OR NP>6 THE N GOTO 100 120 CSR 3,5: INPUT "COLOURS?(3-8) ";NC$ 130 LET NCOVAL(NC$); IF NC<3 OR NC>8 THE N GOTO 120 140 CSR 3,7: INPUT "SHAPES?(1-4) "; NS 150 LET NS=VAL(NS$): IF NS<1 OR NS >4 THE N GOTO 140 160 VS 4: COLOUR 0,6: COLOUR 2,6: COLOUR 4,6: CLS 170 FOR JE TO NC-1 180 COLOUR 1,1+J*2: CSR 29,6+J 190 PRINT J+1 200 NEXT 210 COLOUR 1,15: FOR J=1 TO NS 220 CSR 20,18+J: PRINT J;" = "; CHR$(128+ J) 230 NEXT 240 FOR J=1 TO NP 250 LET C(J,1)=INT(RNDANC) *2+1 260 LET C(J,2)=INT(RND*NS) +1 270 LET P(1,3)=0: LET P(1,4)=0 280 NEXT 290 LET J=0 300 COLOUR 1,15: CSR 3,1: PRINT "GUESS N 0. ";J+1 310 FOR K=1 TO NP 320 PAUSE 1000: CSR 3,19: COLOUR 1,15: PRINT "COLOUR?" 330 LET A$=INKEY$: LET A=ASC(A$) 340 IF A< 128 OR AX127+NC THEN GOTO 330 350 LET PCK,1)=(A-127)*2-1 360 CSR 6,21: GOSUB 1000: IF NS=1 THEN GOTO 420 370 PAUSE 1000: CSR 3,19: COLOUR 1,15: PRINT "SHAPE? " 380 LET A$=INKEY$: LET A=ASC(A$) 390 IF AK 128 OR AX127+NS THEN GOTO 380 400 LET P(K,2)=A-127 410 CSR 6,21: GOSUB 1000 420 NEXT K 430 PAUSE 1000: CSR 3,19: COLOUR 1,15: PRINT "OK? Y/N" 440 LET A$=INKEY$: IF A$="" THEN GOTO 440 450 CSR 6,21: PRINT" 460 IF A$="Y" THEN GOTO 480 470 FOR K=1 TO NP: LET PIK,2)=0: NEXT ; GOTO 310 480 CSR 6,J+3: LET K=NP: GOSUB 1000 490 FOR K=1 TO NP 500 IF P(K,1)=C(K,1) THEN LET P(K,3)=1:LET PIK,4)=5: LET C(K,3)=1 510 IF P(K,2)=C(K,2) THEN LET P(K,3)=1:LET CIK,3)=1: LET P(K,4)=P(K,4) +3: IF P(K.4)=8 THEN LET P(K,4)=11 520 NEXT 530 FOR K=1 TO NP 540 IF P(K,3)=1 THEN GOTO 600 550 LET PC=P(K,1): LET PS=P(K,2) 560 LET M=1 570 IF C(M,3)=1 THEN GOTO 590 580 IF PC=C(M,1) AND PS=C(M,2) THEN LET P(K,3)=1: LET P(K,4)=7: LET C(M,3)=1: 6 OTO 600 590 LET M=M+1: IF M15 THEN GOTO 1260 1220 CSR(DX-8)/8,22: LET B$=SPK$ 1230 IF B$=CHR$(129) THEN CSR(DX-8)/8, 22: COLOUR 0,7: PRINT " ": LET P=P+1: CS R 28,0: COLOUR 0,4: COLOUR 1,15: PRINT P : LET DD=8: LET FP=1 1240 IF B$=CHR$(131) THEN CSR(DX-1)/8, 22: COLOUR 0,7: COLOUR 1,1: PRINT CHR$(1 32): LET T=30: COLOUR 4,14: LET FC=1 1250 LET DD=8 1260 LET T=T-1 1270 IF TO THEN GOTO 1290 1280 LET FC=0: LET FF=O: COLOUR 4,8 1290 LET AF=AF-8: IF AF=-8 THEN LET AF= 232 1300 ADJSPR 2,3,AF: ADJSPR 2,4,AF+16 1316 IF ABS(AF-DX)<9 AND ABS(111-DY;<9 T KEN LET T=25: LET DD=8: COLOUR 4,14: LE I FF=1 1320 LET BF=BF-4: IF BF=-4 THEN LET BF= 232 1330 ADJSPR 2,5,BF: ADJSPR 2,6,BF+16 1340 IF ABS(BF-DX)<9 AND ABS(79-DY)<9 THEN LET T=25: LET DD=8: COLOUR 4,14: LET FF=1 1350 LET CF=CF-2: IF CF=-2 THEN LET CF= 232 1360 ADJSPR 2,7,CF: ADJSPR 2,8,CF+16 1370 IF ABS(CF-DX)<9 AND ABS(47-DY) 19 THEN LET T=25: LET DD=8: COLOUR 4,14: LET FF=1 1380 LET TX=TX-1: LET TY=TY-1 1390 IF TX=-1 THEN LET TX=232 1400 IF TY=59 THEN LET TY=127 1410 ADJSPR 2,9,TX: ADJSPR 3,9, TY: ADJSP R 2,10, TX: ADJSPR 3,10, TY-16 1420 IF ABS(TX-DX+8)9 AND ABS(TY+16-DY)<9 THEN LET T=40: LET DD=8: COLOUR 4,14 : LET FF=1 1430 LET PX=PX+PC: IF PX=8 OR PX=205 THE N LET PC=-PC 1440 ADJSPR 2,11,PX: ADJSPR 2,12,PX 1450 IF ABS(PX-DX+8) 9 AND DY>126 AND DY <152 THEN LET FM=1: GOTO 1500 1460 IF T=-100 THEN LET SX=INT(RND*232) : ADJSPR 2,13,SX: ADJSPR 2,14,5X+16: ADJ SPR 1,13,13: ADJSPR 1,14,13: LET FS=1 1470 IF T=D THEN ADJSPR 1,13,0: ADJSPR 1,14,0: LET FS=0 1480 IF FS=1 AND ABS(SX-DX+8)<9 AND DY<2 4 THEN LET FS=2: GOTO 1500 1490 GOTO 1100 1500 COLOUR 0,11: COLOUR 1,6: CSR 8,2 1510 IF FC=1 THEN PRINT "Badly injured by a clam": GOTO 1550 1520 IF FM=1 THEN PRINT "Man-of-War stung you": GOTO 1550 1530 IF FS=2 THEN PRINT "Sea Serpent caught you": GOTO 1550 1540 IF FT=1 THEN PRINT "Time to rest" 1550 CSR 8,6: PRINT "but you got";P;" pearls" 1560 IF INKEY$<>" " THEN GOTO 1560 1570 CLS : GOTO 800 2000 GOTO 1100 3000 ADJSPR 2,1,DX: ADJSPR 3,1,DY 3010 ADJSPR 1,2,0: ADJSPR 1,1,1 3020 RETURN 4000 ADJSPR 2,2,DX: ADJSPR 3,2,DY 4010 ADJSPR 1,1,0: ADJSPR 1,2,1 4020 RETURN 10 REM ** RAIL RUNNER ** 20 DIM P(4,121,S(3,9),0(4,4): LET SC=0: LET RN=D: LET PN=1 30 DIM S$(9.7): LET U$="" 40 LET 5$(1)="AYR": LET 5$(2)= "BURNLEY": LET 5$(3)="CARDIFF". 50 LET 5$(4)="DERBY": LET S$(5)="EVERTON ": LET 5$(6)="FALKIRK" 60 LET 5$(7)="GRIMSBY"; LET S$(8)="HALIF AX": LET S$(9)=" IPSWICH" 70 GENPAT 1,129,255, 153, 153,255,255, 153, 153,255 80 GENPAT 1,130,0,0,0,255,255,0,0,0 90 GENPAT 1,131,24,24,24,24,24,24,24,24 100 GENPAT 1,132,24,24,24,255,255,24,24, 24 110 GENPAT 1,133,0,0,0,224,240,56,24,24 120 GENPAT 1,134,24,24,56,240,224,0,0,0 130 GENPAT 1,135,24,24,28,15,7,0,0,0 140 GENPAT 1,136,0,0,0,7,15,28,24,24: GE NPAT 1,137,10,224,34,63,255,254,255,54 150 VS 5: CLS : CSR 3,3: INPUT "How many players?(2-4) ";P$ 160 LET P=VAL(P$): IF P<2 OR P>4 THEN G OTO 150 170 FOR J=1 TO 4: FOR K=1 TO 4: READ DIJ,K): NEXT : NEXT 180 FOR J=1 TO 7 STEP 3: FOR K=0 TO 2 190 LET S(1,J+K)=3+INT((3-1)/3)*10+INT(RND*8) 200 LET S(2,J+K)=2+K*7+INT(RND*5): NEXT : NEXT 210 FOR J=1 TO P 220 LET P(1,1)=INT(RND*8) +1: IF S(3,P(J. 1))>3 THEN GOTO 220 230 LET S(3,P(1,1))=S(3,P(1,1))+1 240 LET P(J,2)=INT(RND*8) +1: IF S(3,P(J,2))> 3 THEN GOTO 240 250 IF P(1,1)=P(1,2) THEN GOTO 240 260 LET S(3,P(3,2))=S(3,P(3,2)) +2 270 LET P(1,3)=INT(RND*8) +1: IF S(3,P(d, 3))>3 THEN GOTO 270 280 IF P(J,3)=P(1,2) OR P(1,3)=P(1,1) THEN GOTO 270 290 LET S(3,P(1,2))=S(3,P(3,2))+1 300 LET P(J,4)=S(1,P(1,1)) 310 LET P(J,5)=S(2,P(1,1)) 320 LET P(J,12)=129 330 NEXT 340 CLS : CSR 2,2: PRINT "ROUTES". 350 CSR 2,4: PRINT "No.": CSR 6,4: PRINT "From: ": CSR 14,4: PRINT "Via:"; CSR 22 .4: PRINT "To: " 360 FOR J=1 TO P: CSR 2,3*3+3: PRINT J 370 FOR K=1 TO 3 380 CSR K*8-2,J*3+3: PRINT 5$(P(J,K)) 390 NEXT : NEXT 400 IF INKEY$="" THEN GOTO 400 410 VS 4: COLOUR 0,15: COLOUR 2,15: COLOUR 4,13: CLS 420 FOR J=1 TO 9: COLOUR 1,3 430 CSR S(1,3), S(2,3): PRINT CHR$(129) 440 NEXT 450 GOSUB 2000 460 LET PN=0 470 LET PN=PN+1 480 IF PN=P+1 THEN LET PN=1 490 COLOUR 4,PN*3-1 500 SOUND 0,100,15: SOUND 3,4,15: PAUSE 1000: SOUND 0,0,0: SOUND 3,0,0 510 IF P(PN,9)=1 THEN GOTO 980 520 LET A=ASC(INKEY$): IF A=-1 THEN GOTO 520 530 IF A=11 THEN LET D=1: GOTO 590 540 IF A=25 THEN LET D=2: GOTO 590 550 IF A=10 THEN LET D=3: GOTO 590 560 IF A=8 THEN LET D=4: GOTO 590 570 IF A=127 THEN GOTO 810 580 GOTO 520 590 LET EX=P(PN,4): LET EY=P(PN,5): LET CD=P(PN,6): CSR EX, EY: IF SPK3=CHR$(129) THEN LET CD=D 600 LET NP=D(D,CD): IF NP=O THEN GOTO 520 610 IF CD=1 THEN LET NX=EX: LET NY=EY-1 620 IF CD=2 THEN LET NX=EX+1: LET NY=EY 630 IF CD=3 THEN LET NX=EX: LET NY=EY+1 640 IF CD=4 THEN LET NX=EX-1: LET NY=EY 650 IF NX< 1 OR NX>32 OR NY0 OR NY>21 TH EN GOTO 470 660 CSR NX, NY: LET Q$=SPK$: IF Q$=CHR$(1 29) THEN GOTO 760 670 IF Q$=CHR$(131) AND NP=130 OR Q$=CHR $(130) AND NP=131 THEN LET NP=132: GOTO 690 680 IF Q$< > " " THEN GOTO 470 690 CSR NX, NY: COLOUR 0,15: COLOUR 1,PN* 3-1: PRINT CHR$(NP) 700 IF NP=132 THEN LET SC=-10: GOSUB 20 710 IF NP=131 OR NP=130 THEN LET SC=1: GOSUB 2000 720 IF EX=S(1,P(PN,1)) AND EY=S(2,P(PN,1 )) THEN LET P(PN, 10)=D 730 IF EX=S(1,P(PN,2)) AND EY=S(2,P(PN,2 )) THEN LET P(PN, 11)=D 740 LET P(PN,4)=NX: LET P(PN,5)=NY: LET P(PN,6)=D 750 GOTO 470 760 IF NX=S(1,P(PN,2)) AND NY=S(2,P(PN,2 )) AND P(PN,8)=0 THEN LET P(PN,8)=1: LE T SC=10: GOSUB 2000 770 IF NX=S(1,P(PN, 3)) AND NY=S(2,P(PN,3 > ) AND P(PN,8)=1 AND P(PN,9)=0 THEN GOT 0 790 780 GOTO 740 790 LET P(PN,9)=1: LET P(PN,4)=S(1,P(PN, 1)): LET P(PN,5)=S(2,P(PN,1)): LET SC=0: GOSUB 2000 800 GOTO 470 810 LET EX=P(PN,4): LET EY=P(PN,5): CSR EX.EY: LET U$=SPK$: IF U$=CHR$(129) THEN GOTO 470 820 IF U$=CHR$(132) THEN GOTO 940 830 FOR J=1 TO 4 840 IF DIP(PN,6),J)=ASC(U$) THEN LET DE 850 NEXT 860 LET P(PN,6)=D 870 COLOUR 2,15: CSR EX, EY: PRINT "" 880 IF D=1 THEN LET PX=EX: LET PY=EY+1 890 IF D=2 THEN LET PX=EX-1: LET PY=EY 900 IF D=3 THEN LET PX=EX: LET PY=EY-1 Rail Runner 131 910 IF D=4 THEN LET PX=EX+1: LET PY=EY 920 LET P(PN, 4)=PX: LET P(PN,5)=PY: LET SC=-10: GOSUB 2000 930 GOTO 470 940 LET D=P(PN,6): COLOUR 0,15: COLOUR 1 .PN*3-1 950 IF D=1 OR D=3 THEN CSR EX, EY: PRINT CHR$(130) 960 IF D=2 OR D=4 THEN CSR EX, EY: PRINT CHR$(131) 970 GOTO 880 980 LET RN=INT(RND+3)+1: LET SC=0: GOSUB 2000 990 FOR J=1 TO RN 1000 LET D=P(PN,10): LET EX=P(PN,4): LET EY=P(PN,5) 1010 IF EX=S(1,P(PN,2)) AND EY=S(2,P(PN, 2)) THEN LET D=P(PN, 11) 1020 IF D=1 THEN LET NX=EX: LET NY=EY-1 1030 IF D=2 THEN LET NX=EX+1: LET NY=EY 1040 IF D=3 THEN LET NX=EX: LET NY=EY+1 1050 IF D=4 THEN LET NX=EX-1: LET NY=EY 1060 CSR NX, NY: LET NP=ASC(SPK$); IF NP= 137 THEN GOTO 1170 1070 COLOUR 0,15: COLOUR 1,PN*3-1: IF PC PN, 12)<>129 THEN CSR EX, EY: PRINT CHR$( P(PN, 12)) 1080 IF NP<>129 THEN CSR NX, NY: PRINT C HR$(137) 1090 IF NX=S(1,P(PN,3)) AND NY=S(2,P(PN, 3)) THEN GOTO 1190 1100 LET P(PN,8)=0: FOR K=1 TO 4 1110 IF D(K,D)=NP THEN LET P(PN, 10)=K 1120 NEXT 1130 LET P(PN,4)=NX: LET P(PN,5)=NY: LET P(PN,12)=NP 1140 FOR G=1 TO 3: SOUND 3,6,15: PAUSE 1 50: SOUND 3,6,10: PAUSE 100: SOUND 3,0,0 : PAUSE 200: NEXT 1150 NEXT 1160 GOTO 470 1170 CSR 5,12: COLOUR 0,5: COLOUR 1,15: PRINT "TRAINS COLLIDE!" 1180 GOTO 1180 1190 CSR 5,12: COLOUR 0,5: COLOUR 1,15: PRINT "FIRST TRAIN ARRIVES" 1200 LET SC=10: GOSUB 2000 1210 GOTO 1210 2000 LET P(PN, 7)=P(PN, 7) +SC 2010 COLOUR 0,15 2020 FOR Q=1 TO P: COLOUR 1,Q*3-1: CSR Q *6-4,22: PRINT" ": CSR Q*6-4,22: PRINT P(Q,7): NEXT 2030 COLOUR 0,1: COLOUR 1,15: CSR 28,22: PRINT RN 2040 RETURN 3000 DATA 131,134,0,135, 136,130,135,0, 0,133,131, 136,133,0,134,130 10 REM ** MINEFIELD ** 20 DIM C(2,5), CN(2,5),CC(5), CD(5) 30 DIN M(2,55,52,20) 40 GENPAT 1,129,32,118,255,63,254,127,23 8,38 50 GENPAT 1,130,0,60,126,126,126, 126,60, 60 GENPAT 1,131,40,40,56,124,124,124,124,56 70 GENPAT 1,132,0,124,255,252,255,124,0, 80 GENPAT 1,133,56,124, 124, 124, 124,40,40 90 GENPAT 1,134,0,0,30,255,63,255,30,0 100 VS 5: CLS : CSR 3,3: INPUT "LEVEL?( 1-10) ";A$ 110 LET L=VAL(A$): IF L 1 OR LX10 THEN GOTO 100 120 VS 4: COLOUR 0,11: COLOUR 1,11: COLOUR 2,11: COLOUR 4,11: CLS 130 FOR J=1 TO 25+3*L 140 LET M(1,J)=INT(RND*31) +1: LET M(2,3)=INT(RND*21)+1: CSR M(1,J),M(2,J): PRINT 150 NEXT 160 COLOUR 1,12: FOR J=1 TO 20 170 LET S(1,3)=INT(RND*31)+1: LET S(2,3)=INT(RND*21)+1 180 LET FS=0: FOR K=1 TO 25+3*L 190 IF M(1,K)=S(1,J) AND M(2,K)=S(2,3) THEN LET FS=1 200 NEXT 210 IF FS=1 THEN GOTO 170 220 CSR S(1,3),S(2,3): PRINT CHR$(129) 230 NEXT 240 SOUND 2,1,0,19,0,750,1: SOUND 3,7,15 250 CSR 1,0: COLOUR 1,8: PRINT CHR$(130) 260 LET X=1: LET Y=O: LET NX=1: LET NY=0: LET FS=1: LET FG=0 270 CLOCK "000000" 280 FOR J-1 TO 5 290 LET C(1,3)=6*J: LET C(2,3)=0. LET CN(1,3)=C(1,J): LET CN(2,3)=CN(2,3): LET C D(J)=3: LET FG=0 300 COLOUR 1,1: CSR C(1,3),C(2,3): PRINT CHR$(130+CD(J)) 310 NEXT 320 LET A=ASC(INKEY$) 330 IF A=11 THEN LET NX=X: LET NY=Y-1 340 IF A=25 THEN LET NX=X+1: LET NY=Y 350 IF A=10 THEN LET NX=X: LET NY=NY+1 360 IF A=8 THEN LET NX=X-1: LET NY=Y 370 IF NX<1 THEN LET NX=1 380 IF NX>31 THEN LET NX=31 390 IF NY<0 THEN LET NY=0 400 IF NY>22 THEN LET NY=22 410 IF NX=31 AND NY=22 THEN GOTO 800 420 CSR NX, NY: LET PG=ASC(SPK$) 430 IF PG=42 THEN GOTO 890 440 IF PG/130 AND PGK 135 THEN LET X=NX: LET Y=NY 450 IF X=NX AND Y=NY THEN GOTO 510 460 CSR X,Y: PRINT "" 470 IF FS=0 THEN CSR X,Y: COLOUR 1,12: PRINT CHR$(129): CSR NX, NY: COLOUR 1,8: PRINT CHR$(130): LET FS=1 480 IF FS=1 AND PG=129 THEN CSR NX, NY: COLOUR 1,12: PRINT CHR$(130): LET FS=0 490 IF FS=1 AND PG=32 THEN CSR NX, NY: COLOUR 1,8: PRINT CHR$(130) 500 LET X=NX: LET Y=NY 510 LET J=1 520 IF CD(J)=1 THEN LET CN(1,3)=C(1,J): LET CN(2,3)=C(2,3)-1 530 IF CD(J)=2 THEN LET CN(1,3)=C(1,3)+ 1: LET CN(2,3)=C(2,3) 540 IF CD(J)=3 THEN LET CN(1,3)=C(1,3): LET CN(2,4)=C(2,3)+1 550 IF CD(J)=4 THEN LET CN(1,J)=C(1,J) - 1: LET CN(2,3)=C(2,3) 560 IF CN(1,J)<1 THEN LET CN(1,3)=31 570 IF CN(1,1)>31 THEN LET CN(1,3)=1 580 IF CN(2,J)< THEN LET CN(2,1)=21 590 IF CN(2,3) >21 THEN LET CN(2,3)=0 600 CSR CN(1,3),CN(2,3): LET PO=ASC(SPK 610 IF PG=42 OR PG>129 AND PG<135 THEN LET CD(J)=CD(J) +1: LET CN(1,3)=C(1,J): L ET CN(2,3)=C(2,3) 620 IF CD(J)=5 THEN LET CD(J)=1 630 IF FS=0 THEN GOTO 680 640 LET DX=ABS(X-CN(1,J)): LET DY=ABS(YCN(2,J)) 650 IF DX<2 AND DY<2 THEN LET FG=1 660 IF 125 THEN IF DX<3 AND DY<3 THEN LET FG=1 670 IF FG=1 THEN GOTO 830 680 IF PG=130 THEN GOTO 860 690 IF CN(1,3)=C(1,J) AND CN(2,3)=C(2,3) THEN GOTO 750 700 CSR C(1,3),C(2,3): PRINT "" 710 IF CC(J)=1 THEN LET CC(J)=0: IF L<8 THEN CSR C(1,3),C(2,3): COLOUR 1,12: PRINT CHR$(129) 720 IF PG=129 THEN LET CC(J)=1 730 LET C(1,3)=CN(1,J): LET C(2,3)=CN(2, 740 CSR C(1,3),C(2,3): COLOUR 1,1: PRINT CHR$(130+CD(J)) 750 LET J=J+1: IF J 6 THEN GOTO 520 760 SBUF 1: SBUF 10 770 IF RND<.3 THEN GOTO 320 780 SOUND 3,4,15: PAUSE 100: SOUND 3,4,1 0: PAUSE 100: SOUND 3,7,10 790 SOUND 0,150+RND*100,240, RND*5,0,500, 1: GOTO 320 800 CLS : VS 5: INK 15: PAPER 3: CSR 3,3 810 PRINT "You have escaped!" 820 GOTO 910 830 CLS : VS 5: INK 1: PAPER 8: CSR 3,3 840 PRINT "You were shot by a tank" 850 GOTO 910 860 CLS : VS 5: INK 1: PAPER 11: CSR 3,3 870 PRINT "You were run over by a tank" 880 GOTO 910 890 CLS : VS 5: INK 15: PAPER 1: CSR 3,3 900 PRINT "You were blown up by a mine" 910 CSR 3,7: PRINT "Your time was:" 920 CSR 15,9: PRINT MID$(TIME$,3,2);" mi 930 CSR 15,11: PRINT RIGHT(TIME*,2); " sec" 940 SBUF 1: SOUND 0,0,0: SOUND 1,0,0: SOUND 2,0,0: SOUND 3,0,0: SBUF 2 950 IF INKEY$ "" THEN GOTO 940 960 GOTO 100 10 REM ** SPRIGHTLY SPOOKS 20 DIM S(26,4),N(7),H(120,7),V(120,7): CTLSPR 2,26: CTLSPR 6,2 30 LET Y=1: LET NY=1: LET FC=0 40 GENPAT 4,1,7,15,25,57,63,30,14,7 50 GENPAT 5,1,127, 255,199,15,31,63,63,42 60 GENPAT 6,1,224,240,152,156,252,120,11 2,224 70 GENPAT 7,1,254, 255, 227,240,248,252,25 2,84 80 FOR J=1 TO 26: FOR K=1 TO 4 90 READ S(J,K) 100 NEXT : NEXT 110 FOR J=1 TO 26 120 SPRITE J,1,S(3,1),S(1,2),0,0,S(1,3) 130 NEXT 140 FOR J=1 TO 7: LET N(J)=0: NEXT 150 FOR J-1 TO 120 160 FOR K=2 TO 7 170 LET N(K)=N(K)+1: IF N(K)=2*K-1 THEN LET N(K)=1 180 IF N(K)Y AND S(4,1)=S(L,11 AND STY,2)=S(1,2) THEN LET NY=L: ADJSPR 1,Y,S(4,3 ): ADJSPR 1, NY, 7: LET Y=NY: RETURN 920 IF L 26 THEN LET L=L+1: GOTO 910 930 RETURN 1000 DATA 16,183,3,7,176,183,4,5,112,167,8,7,32,151,13,6,208,135,6,2,96,119,2,6 1010 DATA 16,103,10,4,208,103,5,3,96,87,15,4,160,71,9,4,16,55,15,5,144,55,5,3 1020 DATA 32,39,6,6,80,23,11,5,16,7,3,7,128,7,10,6,128,183,5,4,240,183,12,4,16,1 67,4,6 1030 DATA 80,167,11,5,192,151,15,6,96,119,2,5,48,87,8,5,208,87,13,6,240,87,6,6,1 28,55,8,2 10 REM ** POKER-FACE ** 20 DIM P(13,4),H(13,8),D(13,2),S(8),C(s, 2),T(2) 30 LET PS=100: LET YS=100: LET M$="" 40 GENPAT 1,129,16,56,124,254, 254,146,56 50 GENPAT 1,130,108,238,254,124,124,56,16,0 60 GENPAT 1,131,16,56,124,254,124,56,16, 70 GENPAT 1,132,16,56,84,238,84,16,56,0 80 FOR J=1 TO 10 90 LET D=INT(RND*13) +1: LET S=INT(RND*4) 100 IF P(D,S)=1 THEN GOTO 90 110 LET P(D,S)=1 120 IF J>5 THEN LET S=5+4 130 LET H(D,S)=1 140 NEXT 150 VS 4: COLOUR 0,2: COLOUR 1,15: COLOUR 2,2: COLOUR 4,2: CLS 160 CSR 3,0: PRINT "Your hand: " 170 COLOUR 1,1: CSR 3,2: PRINT CHR$(129) :: LET S=5: GOSUB 1000 180 COLOUR 1,6: CSR 3,4: PRINT CHR$(130) ;: LET S=6: GOSUB 1000 190 COLOUR 1,6: CSR 3,6: PRINT CHR$(131) :: LET S=7: GOSUB 1000 200 COLOUR 1,1: CSR 3,8: PRINT CHR$(132) ;: LET S=8: GOSUB 1000 210 FOR J=1 TO 13: FOR H=0 TO 1: FOR K=1 +H*4 TO 4+H*4 220 IF H(J,K)=1 THEN LET D(J,H+1)=D(J,H +1 ) +1 230 NEXT : NEXT : NEXT 240 FOR H=Q TO 1: FOR K=1+H*4 TO 4+H*4: FOR J-1 TO 13 250 IF H(J,K)=1 THEN LET S(K)=6(K)+1 260 NEXT NEXT : NEXT 270 LET S=0: FOR H=0 TO 1 280 FOR K=1+4*H TO 4+4*H 290 IF S(K)=5 THEN LET SEK 300 NEXT : IF S=D THEN GOTO 400 310 LET R=D: FOR J=13 TO 5 STEP -1 320 LET F=1: FOR L=J TO J-4 STEP - 1 330 IF H(L,S)<>1 THEN LET F=0 340 NEXT 350 IF F=1 THEN LET R=J 360 NEXT 370 IF R=13 THEN LET T(H+1)=1: GOTO 400 380 IF RO AND R<13 THEN LET T(H+1)=2: GOTO 400 390 LET T(H+1)=5 400 NEXT 410 FOR H=0 TO 1 420 IF T(H+1) THEN GOTO 540 430 FOR J=1 TO 13 440 LET C(D(J,H+1) +1,H+1)=1 450 NEXT 460 LET F=0: FOR J=1 TO 13 470 IF DOJ, H+1)=2 THEN LET F=F+1 480 NEXT 490 IF F=2 THEN LET C(3,H+1)=2 500 IF C(5,H+1)=1 THEN LET T(H+1)=3: GO TO 540 510 IF C(4,H+1)=1 AND C(3,H+1)=1 THEN L ET T(H+1)=4: GOTO 540 520 IF C(4, H+1)=1 THEN LET T(H+1)=7: GO TO 540 530 IF C13,H+1) >0 THEN LET T(H+1)=10-Co 3,H+1) 540 NEXT 550 FOR H=0 TO 1 560 IF T(H+1) > 0 THEN GOTO 610 570 FOR J=1 TO 9 580 LET F=1: FOR L=J TO J+4: IF DIL,H+1)= THEN LET F=0 590 NEXT : IF F=1 THEN LET T(H+1)=6 600 NEXT 610 NEXT 620 FOR H=0 TO 1 630 IF T(H+1) > 0 THEN GOTO 670 640 LET F=O: FOR J=13 TO 1 STEP - 1 650 IF DJ,H+1)=1 AND F= 0 THEN LET T(H+ 1)=10+J: LET F=1 660 NEXT 670 NEXT 680 CSR 2,10: PRINT "Poker-Face is "; 690 IF RND >.9 THEN LET M=INT(RND*11): G OTO 720 700 LET M=T(1) +INT(RND*3)-2 710 IF M<1 THEN LET M=1 720 IF MX10 THEN LET M=10 730 RESTORE 4000 740 FOR J=1 TO M: READ M$: NEXT 750 PRINT M$ 760 CSR 2,14: PRINT "What will you do?" 770 LET A$=INKEY$; IF A$="" THEN GOTO 7 70 780 IF A$="T" THEN LET PS=PS+1: LET YS= YS-1: GOTO 940 790 IF A$="S" THEN GOTO 810 800 GOTO 770 810 RESTORE 5000 820 LET M=T(1): IF M>10 THEN LET M=10 830 FOR J=1 TO M: READ M$: NEXT 840 CSR 16,0: PRINT "Poker-Face has: " 850 CSR 16,2: COLOUR 1,1: PRINT CHR$(129 );: LET S=1: GOSUB 1000 860 CSR 16,4: COLOUR 1,9: PRINT CHR$(130 ):: LET S=2: GOSUB 1000 870 CSR 16,6: COLOUR 1,9: PRINT CHR$(131 );: LET S=3: GOSUB 1000 880 CSR 16,8: COLOUR 1,1: PRINT CHR$(132 »:: LET S=4: GOSUB 1000 890 CSR 2,14: PRINT "Poker-face has ";M$ 900 IF T(1) >9 AND T(2) >9 THEN LET T(1)= -T(1): LET T(2)=-T(2) 910 IF T(1)T(2) THEN CSR 2,18: PRINT " ... and LOSES.": LET PS=PS-3: LET YS=YS+ 3: GOTO 940 930 CSR 2,18: PRINT "... so it's a NULL HAND" 940 CSR 2,22: PRINT "Your score"; YS 950 CSR 17,22: PRINT "Poker-Face";PS 960 IF INKEY$ " " THEN GOTO 960 970 CLS : FOR J=1 TO 13: FOR K=1 TO 4: L ET PJ, K)=0: NEXT 980 FOR k=1 TO 8: LET HOJ,K)=0: LET S(K)=0: NEXT : FOR K=1 TO 2: LET D(J,K)=0: N EXT : NEXT 990 FOR J=1 TO 5: FOR K=1 TO 2: LET C(J,K)=O: LET T(K)=0: NEXT : NEXT : GOTO 80 1000 RESTORE 3000: COLOUR 1,15: PRINT "VI 1010 FOR J=13 TO 1 STEP -1 1020 READ D$ 1030 IF H(J,5)<>0 THEN PRINT D$;" "; 1040 NEXT : RETURN 3000 DATA A,K,Q,3,10,9,8,7,6,5,4,3,2 4000 DATA laughing his head off, gasping for breath, smiling serenely, inscrutable 4010 DATA obviously : perplexed, watching you, gripping the table 4020 DATA looking grim, turning pale, gasping for breath 4050 DATA a Royal Straight Flush, a Straight flush,Fours, a Full House 5010 DATA a Flush hand, a Straight hand, Threes, Two pairs, a Pair, his Top Card 10 REM ** HAPPY HOLIDAY ** 20 DIm N$(4,10),P4,11),5,8,(5,5),H 10,5,3), RP(2,5): PRINT CHR$(27); "BI" 30 FOR J=1 TO 4: LET P(J,1)=800: LET P(J,2)=100: LET P(3,4)=1: NEXT 40 FOR J=1 TO 8: FOR K=1 TO 5: READ C(K, J): NEXT : NEXT 50 FOR J=1 TO 4: FOR K=J+1 TO 5: READ TO KJ); NEXT : NEXT 60 RESTORE 2020: FOR J=1 TO 4: FOR K=J+1 TO 5: READ T(J,K): NEXT : NEXT 70 FOR J=1 TO 10: FOR K=1 TO 5: FOR L=1 TO 3: READ H(J,K,L): NEXT : NEXT ; NEXT 80 CSR 2,2: PRINT "How many players?(14)"; 90 LET PN=ASC(INKEY) -48: IF PN<1 OR PN> 4 THEN GOTO 80 100 CSR 2,4: PRINT "Type their names" 110 FOR J=1 TO PN: CSR 4,J*3+4: PRINT "Player ";J;: INPUT " ";N$(J): NEXT 120 PLOD "WHICH": FOR J=1 TO PN: CSR 10, 21: PRINT N$(J);"'s turn 130 CSR 10,15: PRINT " MOST IMPORTANT": LET F=5: GOSUB 1000 140 CSR 10,15: PRINT "NEXT MOST IMPORTANT": LET F=6: GOSUB 1000 150 CSR 10,15: PRINT" LEAST IMPORTANT": LET F=7: GOSUB 1000: NEXT 160 FOR J=1 TO PN 170 PLOD "BROCHURE": GOSUB 1050: NEXT 180 FOR J=1 TO PN: PLOD "HOW": GOSUB 110 190 LET P(1,1)=P(1,1)-P(1,3) *C(P(3,4),2) : NEXT 200 LET D=O: LET J=0 210 LET D=D+1: IF D=29 THEN GOTO 780 220 LET FF=1: FOR K=1 TO PN: IF P(K,8)=0 THEN LET FF=0 230 NEXT : IF FF=1 THEN GOTO 780 240 LET J=J+1 250 IF JEPN+1 THEN LET J=1 260 IF P(1,9)>0 THEN LET P(1,9)=0: PRIN T CHR*(27); "B"; CHR$(P(3,4)+48): GOSUB 14 270 IF P(1,3) >=D AND P(J,11)=0 THEN GOT 0770 280 IF P(3,3)RN THEN GOTO 700 680 FOR RM=1 TO RR: READ RM$, RC, RH: NEXT 690 GOSUB 1210 700 CSR 5,12: PRINT "Cash left:";: GOSUB 1300: PRINT P(J,1) 710 IF P(1,1)< THEN CSR 5,14: GOSUB 1700: GOTO 770 720 CSR 5,16: PRINT "Total Happiness:";P(3,2) 730 PAUSE 5000: GOTO 770 740 PLOD "WHERE": GOSUB 1050 750 LET R=P(J,10): LET RD=0: GOSUB 1130 760 LET P(3,1)=P(3,1)-INT(((T(P(1,4),P(J,9%)/R)+5)/10+.5) *C(P(3,4), 2) 770 IF JEPN THEN GOTO 210 ELSE GOTO 24 780 PRINT CHR$(27); "B1": LET P(1,1)=INT( P j .1)/C(P(3.4),1)) 790 CLS CSR 2,2: PRINT "HOLIDAYS ARE O VER" 800 CSR 19,4: PRINT "Cash(£) Happines 810 FOR J=1 TO PN: LET L=J*3+4 820 CSR 2,L: PRINT N$(J); 830 IF P(1,1) <0 THEN CSR 11,L: PRINT "S PENT QUT"; 840 LET P(3,2)=P(1,2)-INT(ABS(P(,1))/5) 850 IF P(1,4)<>1 THEN PRINT " ABROAD"; :LET P(1,2)=P(1,2)-50: GOTO 870 860 CSR 19,L: PRINT P(1,1) 870 CSR 29,L: PRINT P(1,2) 880 NEXT 890 GOTO 890 1000 LET P(J,F)=ASC(INKEY)-48: IF P(J,F )< OR P(J,F) THEN GOTO 1000 1010 PAUSE 500: RETURN 1050 CSR 2,22: PRINT "Which resort, ";N$(J);"?" 1060 LET CN=ASC(INKEY$)-48 1070 IF CN< 1 OR CN>5 THEN GOTO 1060 1080 LET P(1,9)=CN: RETURN 1100 CSR 2,22: PRINT "Which transport, " ; N$(J);"?(1-3) ". 1110 LET R=ASC(INKEY$) -48: LET P(J,10)=R 1120 IF R 1 OR RX3 THEN GOTO 1110 1130 LET P(1,1)=P(1,1)-R*T(P(3,4),P(1,9) ) *C(P(J,4),1) 1140 LET P(J,1)=INT(P(1,1) *C(F(1,9),1)/0(P(3,4),1)*.98) 1150 LET P(J,3)=P(3,3)+INT((T(P(J,4),P 1,91) /R) +5)/10+.5): LET P(J,11)=1: LET P(3,4)=P(1,9) 1160 IF R=1 THEN RESTORE 3000 1170 IF R=2 THEN RESTORE 3100 1180 IF R=3 THEN RESTORE 3200 1190 READ RN: LET RR=INT(RND*10*RN)+1 FRR>RN THEN RETURN 1200 FOR RM=1 TO RR: READ RM£,RC,RH, RD: NEXT 1210 CLS : CSR 2,2: PRINT RM 1220 CSR 5,4: PRINT "Cost:";RC;"(Pounds 1230 CSR 5,6: PRINT "Happiness:"; RH 1240 CSR 5,8: PRINT "Delayed:";RD;" half -days" 1250 LET P(1,1)=P(),1)-RC*C(P(1,4),1) 1260 LET P(J,2)=P(J,2) +RH 1270 LET P(1,3)=P(1,3) +RD: PAUSE 9000: RETURN 1300 IF NC=1 THEN PRINT " ["; 1310 IF NC=2 THEN PRINT " FF"; 1320 IF NC=3 THEN PRINT " OS"; 1330 IF NC=4 THEN PRINT " Skr"; 1340 IF NC=5 THEN PRINT " "; 1350 RETURN 1400 CLS : CSR 2,1: PRINT "PHRASE BOOK F or ":N$(J): GOSUB 1600: READ N 1410 FOR K=1 TO 2 1420 FOR L=1 TO 5 1430 LET RN=INT(RND*N+1) 1440 LET FF=0: FOR M=1 TO L-1: IF RP(K,M)=RN THEN LET FF=1 1450 NEXT : IF FF=1 THEN GOTO 1430 1460 LET RP(K,L)=RN: NEXT : NEXT 1470 FOR H=1 TO 2: FOR K=1 TO 5: GOSUB 1 600: READ N: IF H=2 THEN FOR L=1 TO N: READ PH$: NEXT 1480 FOR L=1 TO RP(H,K): READ PH$: NEXT 1490 CSR 0,2+K+(H-1)*7: PRINT K+(H-1) *5; " ";: PRINT PH$: NEXT : NEXT 1500 FOR K=1 TO 5: LET FF=0: FOR L=1 TO 5: IF RP(1,1)=RP(2,K) THEN LET FFEL 1510 NEXT : LET RP(2,K)=FF 1520 NEXT 1530 FOR K=1 TO 5: CSR 2,20: PRINT "Match "; CSR 7, 20: PRINT K+5;: INPUT A 1540 CSR 2,21: IF A=RP(2,K) THEN PRINT "RIGHT" ELSE PRINT "Wrong" 1550 IF A=RP(2,K) AND P(1,6)=6 THEN LET P(3,2)=P(3,2) +5 1560 IF A=RP(2,K) AND P(1,5)=6 THEN LET P(J,2)=P(J,2)+10 1570 NEXT : PAUSE 3000: RETURN 1600 LET NC=P(3,4) 1610 IF NC=1 THEN RESTORE 4800 1620 IF NC=2 THEN RESTORE 4900 1630 IF NC=3 THEN RESTORE 5000 1640 IF NC=4 THEN RESTORE 5100 1650 IF NC=5 THEN RESTORE 5200 1660 RETURN 1700 PRINT "Spent out"; PAUSE 5000 1710 LET F(J,8)=1 1720 LET P(1,2)=P(1,2)-5 1730 RETURN 2000 DATA 1,10,25,10,200,20,150,325,180,2000,2,100,100,0,0,1,2,1,1,1 2010 DATA 6,70,400,60,1500,2,1,2,1,2,10,600,1500,1000,5000,1,3,4,4,1 2020 DATA 20,25,25,25,10,25,15,25,25,40 2030 DATA 1,0,1,0,0,0,0,3,2,0,1,4,3,1,0,2,0,1,2,0,0,0,3,6,3,1,6,1,2,0 2040 DATA 0,4,0,0,0,0,3,0,0,0,0,0,0,1,0,0,0,1,3,0,0,0,0,0,0,0,8,0,2,0 2050 DATA 0,0,0,0,1,3,1,0,2,0,1,0,0,0,1,3,0,3,0,0,0,0,5,8,3,3,0,2,0,0 2060 DATA 0,0,0,3,2,3,1,0,0,0,0,0,0,1,0,0,4,0,4,0,4,0,0,0,0,0,6,0,3,0 2070 DATA 0,3,0,0,3,6,1,0,0,0,0,0,0,2,1,0,1,0,0,0,2,0,1,0,0,0,0,0,0,4 2500 DATA Welcome!,Bienvenue!,Willkommen !,V{lkommen!, Cbienvenido! 3000 DATA 4, Puncture,-10,-10,0,Minor accident,-5-,-100,1,Good roads,5,20,-1, Route well signposted, 0,20,-1 3100 DATA 4, Ferry strike,-5,-20,1,Trouble at customs, 0,-10,0, Good meal on train, 0,10,0, Caught earlier ferry,0,10,-1 3200 DATA 4, Lost baggage,-10,-10,0, Fog delays take-off,10,-10,1,Upgraded to first class,0,10,0,Beautiful views from air,0,10,0 3300 DATA 4, Boat fouls line,-1,-10, Raining,0,-10, Catch pike,0,20, Good pub,0,10 3400 DATA 4, Early closing,1,-10, Lost way,0,-10,Visit craft museum,0,19,Visit Cathedral,0,20 3500 DATA 4, No wind, 0,-30, Capsized,-10,30, Ideal conditions, 0,30, Watched regatta,0,10 3600 DATA 4, Chateau ferm',1,-20, Ran out of film,0,-20, Good local wine,3,20, Excel lent guide,0,20 3700 DATA 4, Chose wrong wine,0,-5, Could not translate Menu,0,-5,Pleasant ambienc e,0,5, superb Menu Touristique,5,10 3800 DATA 4, Ate and drank too much,0,-20, Central heating broke down,0,-5,Discove red superb wine,0,50, Met interesting peo ple,0,20 3900 DATA 4, Arrived late,0,-5, Lost purchases,-5,-10, Bargain souvenirs,5,20, Frien dly service 0,5 4000 DATA 4, Bad fall,0,-10, Chair-lift out of order,0,-20,Charming instructor,0,1 0, On good form, 0,20 4100 DATA 4, Blizzard,0.-30, Broke leg,-20,-50, Views from summit,0,50, Crossed glac ier, 0,20 4200 DATA 4, Lost path,0,-10, Twisted ankle,2,-10, Saw rare mosses, 0,10,Found wild raspberries, 0,10 4300 DATA 4, Bad fall,0,-10,Chair-lift out of order,0,-20, Charming instructor,0,1 0,On good form, 0,20 4400 DATA 4, Cloudy no Sun, 0,-50,Blizzard delays flight,-10,-20, Saw elk herds, 0,2 0,Magnificent scenery,0,40 4500 DATA 4, Sunburnt,0,-10, Lost sunglass es,-5,-5,Met new friends, 0,20, Enjoyed no vel,0,20 4600 DATA 4, Coach broke down,-15,-20, Dro pped camera,-10,-10, Found secluded inn,5,20,Found deserted beach,0,20 4700 DATA 4, Lost at Casino,-50,-50, Casin o closed,0,-10, Won at Casino,50,50, Carnival time!,0,10 4800 DATA 8, Tha's a rum'un, Tha's a gret boot, Wha'a lo' o' squit!, Come yew up the loke, Yew bin mardlin,hollerin', spink, mawther 4850 DATA odd, boat,nonsense, lane, gossip, shout,chaffinch,girl 4900 DATA 10,Puis-je consulter la liste des vins?, Ce vin est trop froid, Bon appé tit!, Le menu s'il vous plait 4910 DATA Avez-vous une carte de la vill e?, Qu'est-ce que c'est?, Sens interdit,Ph armacien,Merci, Au revoir 4950 DATA May I see the wine list?, This wine is too cold, Enjoy your meal!, The me nu please 4960 DATA Do you have a street-map?, What is that?, No entry, Chemist, Thankyou, Good bye 5000 DATA 10, Geben Sie mir bitte die Wei nkarte?, Der wein ist zu kalt,Guten Appet it!, Die Karte bitte, Haben Sie einen Stad tplan? 5010 DATA Was ist das?, Einfahrt verboten, Apoteke, Dankeschin, Auf Wieder sehen 5050 DATA May I see the wine list?, This wine is too cold, Enjoy your meal!, The me nu please 5060 DATA Do you have a street-map?, What is that?, No entry, Chemist, Thankyou,Good bye 5100 DATA 11,Hur st}r det till?,God afto n, God dag,Var {r det?, Parkering firbju det,Jag inskar inga miltider 5110 DATA Jag skulle vilja ha sm} pengar, Har du matsedeln?, Ingen adgang, Apotek, Tack 5150 DATA How do you do?, Good evening, Good afternoon, What is that? No parking, I do not want meals 5160 DATA I should like some small change, Have you got the menu?,No entry,Chemis t, Thankyou 5200 DATA 10,Por favor Jpuedo ver la lis ta de vinos?, Este vino esta demasiado fr 10, [Que aproveche!,La carta por favor 5210 DATA ITiene usted un plano de la ci udad?, JQue es eso?,Hace buen tiempo, Boticario, Gracias, Adios 5250 DATA May I see the wine list?, This wine is too cold, Enjoy your meal!,The menu please 5260 DATA Do you have a street-map?, what is that?, It is fine weather, Chemist, Thank you, Goodbye