10 REM JERRY CARON 12 REM BERKLEY ST. 14 REM BERKLEY,MA. 20 REM INITIALIZE 30 PRINT"[147] FIND A WORD" 40 PRINT"ARE YOU USING":PRINT"A VIC 20[146] OR A 64[146]" 50 INPUT"ENTER 20 OR 64";MA:IFMA<>20AND MA<>64THEN50 55 IFMA=20THENPOKE36879,8 60 PRINT"[147]SETTING UP PLEASE WAIT..." 70 DIME$(20,22),D$(20),ZX(20),ZY(20),QA(8),QB(8),TW(20) 80 FORI=1TO20:FORJ=1TO20:E$(I,J)="":NEXT:NEXT 90 RESTORE:FORI=1TO8:READQA(I),QB(I):NEXT 100 DATA0,-1,1,-1,1,0,1,1,0,1,-1,1,-1,0,-1,-1 110 FORI=1TO20:D$(I)="":ZX(I)=0:ZY(I)=0:NEXT 200 REM INPUT WORDS 210 PRINT"[147]HOW MANY WORDS(MAX 20)" 220 INPUT ND$ 230 PRINT:NW=VAL(ND$):IFNW<1ORNW>20THEN8010 240 PRINT"[147] NOW TYPE IN THE WORDS" 250 PRINT" THEY MUST BE BETWEEN 3 AND 15 LETTERS" 260 FORI=1TONW 270 PRINTI"[157]) "; 280 INPUT"[157]";D$(I) 290 IF LEN(D$(I))<3 OR LEN(D$(I))>15 THENPRINTCHR$(13)"[145][145][145]":GOTO270 300 PRINT:NEXT 310 OPEN4,4 320 FORI=1TONW 330 PRINT#4,D$(I);SPC(20-LEN(D$(I)));:IFI=4ORI=8ORI=12ORI=16THENPRINT#4,: 340 NEXT 350 PRINT#4,:PRINT#4,:FORR=1TO64:PRINT#4,"*";:NEXTR:PRINT#4,:PRINT#4,"*"; 360 PRINT#4," ";SPC(61);"*" 370 CLOSE4 400 REM PLACE 410 PRINT"[147] MAKING GRID " 420 PRINT" PLEASE WAIT" 430 PW=0:FORAB=1TONW:PW=PW+1 440 ZX(PW)=INT(20*RND(1)+1) 450 ZY(PW)=INT(20*RND(1)+1) 460 DR=INT(8*RND(1)+1):TW(PW)=DR 470 CX=ZX(PW)+LEN(D$(PW))*QA(DR):CY=ZY(PW)+LEN(D$(PW))*QB(DR) 480 IFCX<1ORCX>20ORCY<1ORCY>20THEN440 490 F=0:FORCK=0TOLEN(D$(PW))-1 500 Z1$=MID$(D$(PW),CK+1,1):Z2$=E$(ZX(PW)+CK*QA(DR),ZY(PW)+CK*QB(DR)) 510 IFZ2$<>""ANDZ1$<>Z2$THENF=1 520 NEXT:IFF=1THEN440 530 FORCK=0TOLEN( D$(PW))-1 540 Z1$=MID$(D$(PW),CK+1,1):E$(ZX(PW)+CK*QA(DR),ZY(PW)+CK*QB(DR))=Z1$ 550 NEXT 560 NEXT AB 600 REMPRINTSEARCHMATRIX 610 PRINT"[147]" 620 PRINT"":FORY=1TO20:FORX=1TO20 630 IFE$(X,Y)=""THENE$(X,Y)=MID$(D$(NW*RND(1)+1),3*RND(1)+1,1) 640 IFMA=64THENPRINTE$(X,Y);" ";:GOTO660 650 IFMA=20THENPRINTE$(X,Y); 660 NEXT 670 IFMA=20THENPRINT 690 C=0:NEXT 700 OPEN4,4 710 FORY=1TO20:PRINT#4,"* ";:FORX=1TO20 720 PRINT#4,E$(X,Y);" "; 730 NEXT:PRINT#4,"*":PRINT#4,"*";SPC(62);"*":NEXT 740 FORR=1TO64:PRINT#4,"*";:NEXTR:PRINT#4,:PRINT#4:CLOSE4 800 PRINT"[147]PROGRAM OVER" 810 INPUT"Y[146]ES TO RUN AGAIN ";S$ 820 IFS$="Y"THENCLR:GOTO30