10 SC=1024:V=53248:S=SC+V:CC=SC+S:SP$=" ":DN$="" 20 A=RND(-TI/100):FORI=STOS+24:POKEI,0:NEXT:POKES+24,15:POKE788,52 30 PRINT"[147][144]";:POKE53280,14:POKE53281,14:DEFFNR(X)=INT(RND(1)*100)+1 40 FORI=828TO866:READA:POKEI,A:CK=CK+A:NEXT 50 IFCK<>5301THENPRINT"ERROR IN DATA (LINES 2200-2240)":END 60 I=2:GOSUB2090:FORI=0TO15 70 PRINT""SPC(11)"CROSSWORDS" 80 PRINT""SPC(11)"C[157]R[157]O[157]S[157]S[157]W[157]O[157]R[157]D[157]S" 90 PRINTDN$SPC(7)"[159]CROSSWORDS" 100 PRINTLEFT$(DN$,6)SPC(25)"[158]C[157]R[157]O[157]S[157]S[157]W[157]O[157]R[157]D[157]S"; 110 GOSUB2050:POKE828,I:SYS829:GOSUB2050:NEXT 120 FORI=1TO11:GOSUB2050:POKE828,I:SYS829:NEXT:FORI=STOS+6:POKEI,0:NEXT 130 DIMLA%(100):Y=0 140 READI,A:IFI<0THEN160 150 FORJ=1TOI:Y=Y+1:LA%(Y)=A:NEXT:GOTO140 160 FORI=1TO75:X=FNR(0):Y=FNR(0) 170 LA%(0)=LA%(X):LA%(X)=LA%(Y):LA%(Y)=LA%(0):NEXT 180 POKE198,0:PRINT"[147][144]THIS GAME CAN BE PLAYED BY ONE TO EIGHT[144] PLAYERS." 190 PRINT"HOW MANY WILL BE PLAYING THIS GAME? "; 200 GETA$:IFA$=""THEN200 210 PRINTA$:NP=VAL(A$) 220 IFNP>0ANDNP<9THEN240 230 GOSUB2140:PRINTSPC(10)" NOT 1 TO 8 - TRY AGAIN. [146] ^[145][145]"SPC(39);:GOTO200 240 DIMPN$(NP),LL%(NP,8) 250 FORI=0TO63:READA:POKE896+I,A:NEXT 260 FORI=1TONP:PRINT"[147][151]WHEN PLAYER PROMPT APPEARS ENTER YOUR NAME. "; 270 PRINT"EIGHT(8) ALPHABETIC CHARACTERS OR LESS." 280 IFNP=1THEN310 290 PRINT"WHEN YOUR NAME APPEARS FOLLOWED BY [158]CODE?[151]PRESS ANY TWO "; 300 PRINT"KEYS. REMEMBER WHICH KEYSYOU PRESS THEY WILL BE NEEDED LATER." 310 OPEN1,0:PRINT"PLAYER #"I"NAME? ";:INPUT#1,A$:CLOSE1:PRINT 320 X=ASC(LEFT$(A$,1)+CHR$(0)):IFX<65ORX>90THENGOSUB2140:GOTO310 330 IFLEN(A$)>8THENPRINTA$", IS MORE THAN EIGHT LETTERS.":GOSUB2140:GOTO310 340 FORJ=1TOLEN(A$):IFMID$(A$,J,1)=CHR$(32)THEN360 350 IFMID$(A$,J,1)>CHR$(64)ANDMID$(A$,J,1)NTTHENGOSUB2140:PRINTLEFT$(DN$,10)SPC(30);:GOTO460 480 NT=X:PRINT:PRINT"[151]PRESS ANY KEY TO START.":POKE198,0 490 GETA$:IFA$=""THEN490 500 FORI=1TONP:FORJ=1TO8:LL%(I,J)=LA%(FNR(0)):NEXTJ,I 510 PRINT"[147]";:I=0:GOSUB2090:POKE828,15:SYS829 520 POKE2040,14:POKEV+39,1:POKEV,138:POKEV+1,134:POKEV+21,1:A$="" 530 FORI=1TO5:GOSUB2160:NEXT:FORI=1TO8:A$=A$+RIGHT$(STR$(I),1)+"-[157][157]" 540 NEXT:PRINT""SPC(36)A$""; 550 PRINTLEFT$(DN$,9)SPC(33)"[158]SCORE "SPC(33)"RND "SPC(33)"H/SCORE"; 560 FORJ=1TONT:FORJ1=1TONP:A=1 570 FORI=0TO280STEP40:POKESC+33+I,ASC(MID$(PN$(J1),A,1))-64:POKECC+33+I,6 580 POKESC+38+I,LL%(J1,A):POKECC+38+I,6 590 IFNP=1THEN650 600 J2=J1+1:IFJ2>NPTHENJ2=1 610 POKESC+713+I,ASC(MID$(PN$(J2),A,1))-64:POKECC+713+I,0 620 CK=0:IFJ=NTTHENIFJ2=1THENCK=14:GOTO640 630 POKESC+716+I,LL%(J2,A) 640 POKECC+716+I,CK 650 A=A+1:NEXTI 660 PRINTLEFT$(DN$,10)SPC(33)""LEFT$(STR$(LL%(J1,0))+SP$,7); 670 PRINTSPC(36)"[158]"LEFT$(STR$(J)+SP$,4); 680 PRINTSPC(33)"[158]"LEFT$(STR$(LL%(0,0))+SP$,7); 690 GOSUB1320:IFA$<>"P"THEN720 700 IFNP>1THENGOSUB840 710 GOTO800 720 GOSUB1480:IFA$="P"THEN700 730 IFNP>1THENGOSUB840 740 PRINTDN$SPC(33)"[144]OKAY "SPC(33)"[Y/N]? "; 750 GETA$:IFA$="N"THEN720 760 IFA$<>"Y"THEN750 770 IFLK=-1THEN800 780 GOSUB1030:FORD=STOS+6:POKED,0:NEXT:FORD=1TO2000:NEXT:SYS829 790 IFLL%(J1,0)>LL%(0,0)THENLL%(0,0)=LL%(J1,0) 800 FORI=0TO7:CK=PEEK(CC+38+I*40)AND15 810 IFCK=14THENLL%(J1,I+1)=LA%(FNR(0)) 820 NEXT 830 LK=-1:NEXTJ1,J:GOTO930 840 PRINTLEFT$(DN$,13)SPC(33)"[144]ENTER "SPC(33)"CODE. "; 850 PRINTSPC(33)"--[146] [157][157][157][157][157][157][157]"; 860 GETA$:IFA$=""THEN860 870 PRINT" "; 880 GETB$:IFB$=""THEN880 890 PRINT" "; 900 A$=A$+B$ 910 IFA$<>RIGHT$(PN$(J2),2)THENGOSUB2140:PRINTDN$"";:GOTO850 920 PRINTDN$SPC(33)" ";SPC(33)" ";:RETURN 930 POKEV+21,0:POKEV+16,0 940 PRINT"";:FORI=1TO24:PRINTSPC(33)LEFT$(SP$,7);:NEXT:PRINTSPC(33)" "; 950 PRINTLEFT$(DN$,11)SPC(33)" PRESS "SPC(33)"ANY KEY"SPC(33)"TO SEE"; 960 PRINTSPC(33)"SCORES";:POKE198,0 970 GETA$:IFA$=""THEN970 980 PRINT"[147]":FORI=1TONP:PRINTLEFT$(PN$(I),8)">"LL%(I,0):PRINT:NEXT 990 PRINT"ANOTHER GAME [Y/N]?":POKE198,0 1000 GETA$:IFA$="Y"THENRUN 1010 IFA$<>"N"THEN1000 1020 SYS2048 1030 GOSUB1290:IFPEEK(SL)=32THENSL=SL-D1 1040 IFPEEK(P1-D1/2)<>C1ANDPEEK(P1-D1)<>32THENFL=FL+.5 1050 IFPEEK(P1+D1/2)<>C1ANDPEEK(P1+D1)<>32THENFL=FL+.5 1060 IFFL>0THENFL=0:GOTO1080 1070 FL=DX:DX=DY:DY=FL:GOSUB1290 1080 IFPEEK(P1-D1/2)<>C1ANDPEEK(P1-D1)<>32THENP1=P1-D1:FL=FL+.5:GOTO1080 1090 FORI=P1TOSL-D1STEPD1 1100 IF(PEEK(I+S)AND15)+(PEEK(I+S+D1)AND15)=30THENFL=FL+1:GOTO1120 1110 NEXT 1120 FORI=P1TOSLSTEPD1 1130 IF(PEEK(I+S)AND15)=15THEN1160 1140 IFPEEK(I-D2/2)<>C2ANDPEEK(I-D2)<>32THEND2=-D2:GOTO1190 1150 IFPEEK(I+D2/2)<>C2ANDPEEK(I+D2)<>32THEN1190 1160 GOSUB1260 1170 NEXT:IFFL>.5ANDLU>1THENFORI=SPTOSLSTEPD1:GOSUB1250:NEXT 1180 FL=0:RETURN 1190 P2=I:IFD2>0THEN1230 1200 IFPEEK(I+D2/2)<>C2ANDPEEK(I+D2)<>32THENI=I+D2:GOTO1200 1210 IFI32THENGOSUB1260:IFPEEK(I+D2/2)<>C2THENI=I+D2:GOTO1230 1240 I=P2:GOTO1160 1250 IF(PEEK(I+S)AND15)=15OR(PEEK(I+S)AND15)=0THENRETURN 1260 LL%(J1,0)=LL%(J1,0)+1:POKEI+S,(PEEK(I+S)AND15)+1 1270 PRINTLEFT$(DN$,10)SPC(33)""LEFT$(STR$(LL%(J1,0))+SP$,7); 1280 GOSUB2180:RETURN 1290 C1=64:C2=93:D1=80:D2=2:P1=SP:FL=0 1300 IFDXTHENC1=93:C2=64:D1=2:D2=80 1310 RETURN 1320 POKE198,0:PRINTDN$SPC(33)"CURSOR "SPC(33)" KEYS. "; 1330 PRINTSPC(33)"DIR H/V[146]"SPC(33)"P=PASS [146]";:GOTO1350 1340 GOSUB1930:IFFL=1THENGOSUB2140:FL=0 1350 GETA$:IFA$=""THEN1350 1360 DX=16*(A$="[157]")-16*(A$=""):DY=16*(A$="[145]")-16*(A$=""):IFDXORDYTHEN1340 1370 IFA$="P"THENFORI=0TO7:POKECC+38+I*40,14:NEXT:GOTO1470 1380 IFA$<>"H"ANDA$<>"V"THENGOSUB2140:GOTO1350 1390 GOSUB2010:IFPEEK(SL)<>32THENGOSUB2140:GOTO1350 1400 DX=-16*(A$="H"):DY=-16*(A$="V"):SP=SL:IFLL%(0,0)=0THENLK=0:GOTO1470 1410 IFDXTHEN1450 1420 IFPEEK(SP-40)=64THEN1470 1430 IFPEEK(SP-80)<>32THENLK=0 1440 GOTO1470 1450 IFPEEK(SP-1)=93THEN1470 1460 IFPEEK(SP-2)<>32THENLK=0 1470 FL=0:PRINTDN$SPC(33)LEFT$(SP$,7)SPC(33)""LEFT$(SP$,7);:RETURN 1480 LU=0:POKE198,0:PRINTDN$SPC(33)"SPELL "SPC(33)" [1-8] ";: 1490 PRINTSPC(33)"D[146]ELETE "SPC(33)"RETURN [146]"; 1500 GETA$:IFA$=""THEN1500 1510 IFA$=CHR$(13)THEN1630 1520 IFA$="D"THEN1770 1530 IFVAL(A$)<1ORVAL(A$)>8ORFL=1THENGOSUB2140:GOTO1500 1540 CK=PEEK(CC+38+40*(VAL(A$)-1))AND15 1550 IFCK=14THENGOSUB2140:GOTO1500 1560 POKESL,PEEK(SC+38+40*(VAL(A$)-1)):POKESL+S,0:LU=LU+1 1570 POKECC+38+40*(VAL(A$)-1),14:IFLK=-1THENGOSUB1660 1580 GOSUB1930 1590 IFFL=1THEN1500 1600 IFPEEK(SL)=32THEN1500 1610 IFLK=-1THENLK=SL-SP+1 1620 GOTO1580 1630 IFLK=-1THENGOSUB2140:GOTO1500 1640 IFSP=SLANDPEEK(SL)=32THENGOSUB2140:GOTO1500 1650 FL=0:PRINTDN$SPC(33)LEFT$(SP$,7)SPC(33)""LEFT$(SP$,7);:RETURN 1660 IFDXTHEN1720 1670 IFPEEK(SL-1)=93THEN1690 1680 IFPEEK(SL-2)<>32THENLK=SL-SP+1:GOTO1760 1690 IFPEEK(SL+1)=93THEN1740 1700 IFPEEK(SL+2)<>32THENLK=SL-SP+1 1710 GOTO1760 1720 IFPEEK(SL-40)=64THEN1740 1730 IFPEEK(SL-80)<>32THENLK=SL-SP+1:GOTO1760 1740 IFPEEK(SL+40)=64THEN1760 1750 IFPEEK(SL+80)<>32THENLK=SL-SP+1 1760 RETURN 1770 POKE198,0:PRINTDN$SPC(33)"[153]W[146]ORD "SPC(33)"L[146]ETTER ";: 1780 PRINTSPC(33)"N[146]ONE "SPC(33)" [146]"; 1790 DX=-DX:DY=-DY:LU=LU-1 1800 GETA$:IFA$=""THEN1800 1810 IFA$="N"THEN1910 1820 IFA$<>"W"ANDA$<>"L"THENGOSUB2140:GOTO1800 1830 IFPEEK(SL)<>32THEN1860 1840 IFSL=SPTHEN1910 1850 GOSUB1930 1860 CK=PEEK(SL+S)AND15:IFCK=15THEN1840 1870 A=PEEK(SL):POKESL,32:IFSL-SP+1=LKTHENLK=-1 1880 FORI=1062TO1342STEP40:CK=PEEK(I+S)AND15 1890 IFPEEK(I)=AANDCK=14THENPOKEI+S,6:POKESL+S,14:I=1342 1900 NEXT:IFA$="W"THENLK=-1:LU=0:GOTO1840 1910 FL=0:DX=-DX:DY=-DY:IFA$="W"THENGOSUB1320:IFA$="P"THEN1650 1920 GOTO1480 1930 IFDXTHEN1960 1940 Y=PEEK(V+1)+DY:IFY<50ORY>245THENFL=1:RETURN 1950 POKEV+1,Y:GOTO2000 1960 X=PEEK(V)+DX-255*(PEEK(V+16)=1):IFX<24ORX>266THENFL=1:RETURN 1970 IFX>255ANDPEEK(V+16)=0THENX=X-255:POKEV,X:POKEV+16,1:GOTO2000 1980 IFX<256ANDPEEK(V+16)=1THENPOKEV,X:POKEV+16,0 1990 POKEV,X 2000 GOSUB2160 2010 X=INT((PEEK(V)-255*(PEEK(V+16)=1)-24)/8)+1 2020 Y=INT((PEEK(V+1)-50)/8)+1 2030 SL=1024+X+Y*40 2040 RETURN 2050 POKES+5,9 2060 POKES+1,FNR(0)+35 2070 POKES+4,33:FORD=1TO100:NEXT 2080 POKES+4,32:RETURN 2090 PRINTSPC(I)"[176][192][178][192][178][192][178][192][178][192][178][192][178][192][178][192][178][192][178][192][178][192][178][192][178][192][178][192][178][192][178][192][174]" 2100 FORJ=0TO10:PRINTSPC(I)"[221] [194] [194] [194] [194] [194] [194] [194] [194] [194] [194] [194] [194] [194] [194] [194] [221]" 2110 PRINTSPC(I)"[171][195][219][195][219][195][219][195][219][195][219][195][219][195][219][195][219][195][219][195][219][195][219][195][219][195][219][195][219][195][219][195][179]":NEXT 2120 PRINTSPC(I)"[221] [194] [194] [194] [194] [194] [194] [194] [194] [194] [194] [194] [194] [194] [194] [194] [221]" 2130 PRINTSPC(I)"[173][192][177][192][177][192][177][192][177][192][177][192][177][192][177][192][177][192][177][192][177][192][177][192][177][192][177][192][177][192][177][192][189]";:RETURN 2140 POKES,10:POKES+1,10:POKES+5,45:POKES+6,165:POKES+4,33 2150 FORD=1TO200:NEXT:FORD=STOS+6:POKED,0:NEXT:RETURN 2160 POKES,0:POKES+1,60:POKES+5,0:POKES+6,96:POKES+4,17 2170 FORD=1TO10:NEXT:FORD=STOS+6:POKED,0:NEXT:RETURN 2180 POKES+5,10:POKES+6,8:POKES+1,70:POKES+4,17:FORD=1TO50:NEXT:POKES+4,16 2190 FORD=1TO250:NEXT:RETURN 2200 DATA 7,160,0,162,0,173,60,3,153 2210 DATA 41,216,153,25,217,153,9,218 2220 DATA 153,249,218,200,200,232,224 2230 DATA 16,208,237,192,192,208,1,96 2240 DATA 152,24,105,48,168,208,220 2250 DATA 9,1,2,2,2,3,5,4,12,5,2,6,3,7,2,8,9,9,1,10,1,11,4,12,2,13,6,14,8,15 2260 DATA 2,16,1,17,6,18,5,19,6,20,4,21,2,22,2,23,1,24,2,25,1,26,-1,-1 2270 DATA 127,255,192,127,255,192,096 2280 DATA 0,192,96,0,192,96,0,192,96 2290 DATA 0,192,96,0,192,96,0,192 2300 DATA 96,0,192,96,0,192,96,0 2310 DATA 192,96,0,192,96,0,192,96,0 2320 DATA 192,127,255,192,127,255,192 2330 DATA 0,0,0,0,0,0,0,0 2340 DATA 0,0,0,0,0,0,0,0