home *** CD-ROM | disk | FTP | other *** search
- 100 CLEAR 1200
- 110 B$="."
- 120 INPUT"INPUT X AND Y DIMENSIONS ";X,Y
- 130 IF X>30 OR Y>30 THEN 120
- 140 IF X>Y THEN U0=X:GOTO 180
- 150 U0=Y
- 160 INPUT"NUMBER OF WORDS ";N
- 170 C1=100*INT(N/10):IF C1<100 THEN C1=100
- 180 DIM W$(50),A$(X,Y),N$(N),L(N,4)
- 190 W$(1)="DUMMEY ARGUMENT"
- 200 GOTO2150
- 210 GOSUB 1960
- 220 GOTO2020
- 230 INPUT"PUNCH LIST ON TAPE";T$:IF LEFT$(T$,1)="Y" THEN GOTO 2220
- 240 Q8=1
- 250 GOSUB 1940
- 260 PRINT:PRINT Q8
- 270 FOR I1=1 TO N
- 280 GOTO 360
- 290 PRINT:PRINT"FIRST CHAR. CHANGED ON PASS";C0;" OF THE";I1;"TH WORD"
- 300 A$(L(1,1),L(1,2))=LEFT$(N$(1),1)
- 310 GOTO430
- 320 REM
- 330 L(I1,1)=A:L(I1,2)=B:L(I1,3)=D
- 340 L(I1,4)=C0
- 350 GOTO 1580
- 360 C0=0
- 370 S$=N$(I1)
- 380 Z=LEN(S$)-1
- 390 GOSUB 1540
- 400 C0=C0+1
- 410 IF I1=1 THEN GOTO 430
- 420 IF A$(L(1,1),L(1,2))<>LEFT$(N$(1),1) THEN GOTO 290
- 430 IF C0/C1<>INT(C0/C1) THEN 450
- 440 PRINT S$;" TRY#";C0
- 450 IF C0<C1*10 THEN490
- 460 Q8=Q8+1:IF Q8=100 THEN STOP
- 470 GOTO 250
- 480 PRINT Q8: GOTO250
- 490 ON D GOTO 500,630,760,890,1020,1150,1280,1410
- 500 IF B+Z>Y THEN 390
- 510 FOR I=1 TO LEN(S$)
- 520 A1=A:B1=B+I-1
- 530 GOSUB 1910
- 540 GOSUB 1930
- 550 IF L$=B$ OR L$=N1$ THEN 570
- 560 GOTO 390
- 570 NEXT I
- 580 FOR I=1 TO LEN(S$)
- 590 GOSUB 1910
- 600 A$(A,B+I-1)=N1$
- 610 NEXT I
- 620 GOTO 320
- 630 IF B+Z>Y OR A-Z<1 THEN390
- 640 FOR I=1 TO LEN(S$)
- 650 A1=A-(I-1):B1=B+I-1
- 660 GOSUB 1910
- 670 GOSUB 1930
- 680 IF L$=B$ OR L$=N1$ THEN 700
- 690 GOTO 390
- 700 NEXT I
- 710 FOR I=1 TO LEN(S$)
- 720 GOSUB 1910
- 730 A$(A-(I-1),B+I-1)=N1$
- 740 NEXT I
- 750 GOTO 320
- 760 IF A-Z<1 THEN 390
- 770 FOR I=1 TO LEN(S$)
- 780 A1=A-(I-1):B1=B
- 790 GOSUB 1910
- 800 GOSUB 1930
- 810 IF L$=B$ OR L$=N1$ THEN 830
- 820 GOTO 390
- 830 NEXT I
- 840 FOR I=1 TO LEN(S$)
- 850 GOSUB 1910
- 860 A$(A-(I-1),B)=N1$
- 870 NEXT I
- 880 GOTO320
- 890 IF A-Z<1 OR B-Z<1 THEN390
- 900 FOR I=1 TO LEN(S$)
- 910 A1=A-(I-1):B1=B-(I-1)
- 920 GOSUB 1910
- 930 GOSUB 1930
- 940 IF L$=B$ OR L$=N1$ THEN960
- 950 GOTO 390
- 960 NEXT I
- 970 FOR I=1 TO LEN(S$)
- 980 GOSUB 1910
- 990 A$(A-(I-1),B-(I-1))=N1$
- 1000 NEXT I
- 1010 GOTO 320
- 1020 IF B-Z<1 THEN 390
- 1030 FOR I=1 TO LEN(S$)
- 1040 A1=A:B1=B-(I-1)
- 1050 GOSUB 1910
- 1060 GOSUB 1930
- 1070 IF L$=B$ OR L$=N1$ THEN 1090
- 1080 GOTO 390
- 1090 NEXT I
- 1100 FOR I=1 TO LEN(S$)
- 1110 GOSUB 1910
- 1120 A$(A,B-(I-1))=N1$
- 1130 NEXT I
- 1140 GOTO 320
- 1150 IF A+Z>X OR B-Z<1 THEN390
- 1160 FOR I=1 TO LEN(S$)
- 1170 A1=A+I-1:B1=B-(I-1)
- 1180 GOSUB 1910
- 1190 GOSUB 1930
- 1200 IF L$=N1$ OR L$=B$ THEN1220
- 1210 GOTO390
- 1220 NEXT I
- 1230 FOR I=1 TO LEN(S$)
- 1240 GOSUB 1910
- 1250 A$(A+I-1,B-(I-1))=N1$
- 1260 NEXT I
- 1270 GOTO320
- 1280 IF A+Z>X THEN 390
- 1290 FOR I=1 TO LEN(S$)
- 1300 A1=A+I-1:B1=B
- 1310 GOSUB 1910
- 1320 GOSUB 1930
- 1330 IF L$=N1$ OR L$=B$ THEN1350
- 1340 GOTO 390
- 1350 NEXT I
- 1360 FOR I=1 TO LEN(S$)
- 1370 GOSUB 1910
- 1380 A$(A+I-1,B)=N1$
- 1390 NEXT I
- 1400 GOTO 320
- 1410 IF A+Z>X OR B+Z>Y THEN390
- 1420 FOR I=1 TO LEN(S$)
- 1430 A1=A+I-1:B1=B+I-1
- 1440 GOSUB 1910
- 1450 GOSUB 1930
- 1460 IF L$=B$ OR L$=N1$ THEN 1480
- 1470 GOTO 390
- 1480 NEXT I
- 1490 FOR I=1 TO LEN(S$)
- 1500 GOSUB 1910
- 1510 A$(A+I-1,B+I-1)=N1$
- 1520 NEXT I
- 1530 GOTO320
- 1540 A=INT(X*RND(8)+1)
- 1550 B=INT(Y*RND(8)+1)
- 1560 D=INT(8*RND(5)+1)
- 1570 RETURN
- 1580 NEXT I1
- 1590 GOTO 1610
- 1600 FOR I=1TOX:FORJ=1TOY:PRINTA$(I,J);" ";:NEXTJ:PRINT:NEXTI
- 1610 FOR I=1 TO 5:PRINT:NEXT I
- 1620 PRINT"THE";N;"HIDDEN WORDS ARE":PRINT
- 1630 Z=2:FORI=1TON:PRINTTAB(Z);N$(I);:Z=Z+18:IFZ>60 THENZ=2:PRINT
- 1640 NEXT I:PRINT:PRINT:PRINT
- 1650 FOR I=1 TO X
- 1660 FOR J=1 TO Y
- 1670 IF A$(I,J)=B$ THEN 1770
- 1680 PRINT A$(I,J);" ";
- 1690 NEXT J
- 1700 PRINT
- 1710 NEXT I
- 1720 PRINT
- 1730 GOSUB 1800
- 1740 PRINT
- 1750 GOTO 240
- 1760 END
- 1770 A$(I,J)=CHR$(INT(26*RND(1)+65))
- 1780 GOTO 1680
- 1790 PRINT
- 1800 REM
- 1810 AN=1
- 1820 PRINT "THE HIDDEN WORDS ARE LOCATED AT"
- 1830 FOR K=1 TO N
- 1840 PRINT N$(K);
- 1850 IF AN=0 THEN PRINT: GOTO 1880
- 1860 PRINT TAB(30);L(K,1);",";L(K,2);",";L(K,3);
- 1870 PRINT ",";L(K,4)
- 1880 NEXT K
- 1890 RETURN
- 1900 END
- 1910 N1$=MID$(S$,I,1)
- 1920 RETURN
- 1930 L$=A$(A1,B1):RETURN
- 1940 FORI=1TOX:FORJ=1TOY:A$(I,J)=B$:NEXT J,I
- 1950 RETURN
- 1960 FOR I=1 TO N
- 1970 PRINT"WORD #";I;
- 1980 INPUT N$(I)
- 1990 IF LEN(N$(I))>U0 THEN1970
- 2000 NEXT I
- 2010 RETURN
- 2020 IF N<3 THEN GOTO240
- 2030 FOR J=2 TO (N-1)
- 2040 L=0:M=0
- 2050 FOR I=J TO N
- 2060 IF LEN(N$(I))>L THEN L=LEN(N$(I)):M=I
- 2070 NEXT I
- 2080 T$=N$(M)
- 2090 FOR I=(M-1)TO J STEP -1
- 2100 N$(I+1)=N$(I)
- 2110 NEXT I
- 2120 N$(J)=T$
- 2130 NEXT J
- 2140 GOTO 230
- 2150 INPUT"INPUT FROM TAPE";T$:IF LEFT$(T$,1)="N" THEN GOTO210
- 2160 PRINT CHR$(17):REM TAPE READER ON
- 2170 FOR I=1 TO N
- 2180 INPUT N$(I)
- 2190 NEXT I
- 2200 PRINT CHR$(19):REM TAPE READER OFF
- 2210 GOTO 2020
- 2220 NULL6
- 2230 PRINT CHR$(18);:REM TAPE PUNCH ON
- 2240 FOR I=1TO75:PRINT CHR$(0);:NEXT I:REM LEADER
- 2250 FOR I=1TON:PRINTN$(I):NEXT I
- 2260 FOR I=1TO75:PRINT CHR$(0);:NEXT I:PRINT CHR$(20)
- 2270 NULL0:GOTO240
- XT I:REM LEADER
- 2250 FOR I=1TON:PRINTN$(I):NEXT I
- 2260 FOR I=1TO75:PRINT CHR$