You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

121 lines
3.5 KiB

10 CLEAR 1000:B$="":PRINT CHR$(26)'SCREEN CLEAR
20 INPUT "INPUT X AND Y DIMENSIONS";Y,X:IF X>30 OR Y>30 THEN 20
30 IF X>Y THEN U0=X ELSE U0=Y
40 INPUT "NUMBER OF WORDS";N:DIM A$(X,Y),N$(N),L(N,3)
50 GOSUB 1050:Q8=1
60 ERASE A$:DIM A$(X,Y):PRINT Q8
70 FOR I1=1 TO N
80 GOTO 100
90 L(I1,1)=A:L(I1,2)=B:L(I1,3)=D:GOTO 760
100 C0=0:S$=N$(I1):Z=LEN(S$)
110 GOSUB 750:C0=C0+1
120 IF C0/100=INT(C0/100) THEN PRINT "TRY #";C0;" ";
130 IF C0<1000 THEN 160
140 Q8=Q8+1:IF Q8=100 THEN STOP ELSE 60
150 PRINT Q8:GOTO 60
160 ON D GOTO 170,240,310,380,450,520,610,680
170 IF B+Z>Y THEN 110
180 FOR I=1 TO Z
190 A1=A:B1=B+I-1:GOSUB 1030:GOSUB 1040
200 IF L$=B$ OR L$=N1$ THEN 210 ELSE 110
210 NEXT I
220 FOR I=1 TO Z:GOSUB 1030:A$(A,B+I-1)=N1$:NEXT I
230 GOTO 90
240 IF B+Z>Y OR A-Z<1 THEN 110
250 FOR I=1 TO Z
260 A1=A-(I-1):B1=B+I-1:GOSUB 1030:GOSUB 1040
270 IF L$=B$ OR L$=N1$ THEN 280 ELSE 110
280 NEXT I
290 FOR I=1 TO Z:GOSUB 1030:A$(A-(I-1),B+I-1)=N1$:NEXT I
300 GOTO 90
310 IF A-Z<1 THEN 110
320 FOR I=1 TO Z
330 A1=A-(I-1):B1=B:GOSUB 1030:GOSUB 1040
340 IF L$=B$ OR L$=N1$ THEN 350 ELSE 110
350 NEXT I
360 FOR I=1 TO Z:GOSUB 1030:A$(A-(I-1),B)=N1$:NEXT I
370 GOTO 90
380 IF A-Z<1 OR B-Z<1 THEN 110
390 FOR I=1 TO Z
400 A1=A-(I-1):B1=B-(I-1):GOSUB 1030:GOSUB 1040
410 IF L$=B$ OR L$=N1$ THEN 420 ELSE 110
420 NEXT I
430 FOR I=1 TO Z:GOSUB 1030:A$(A-(I-1),B-(I-1))=N1$:NEXT I
440 GOTO 90
450 IF B-Z<1 THEN 110
460 FOR I=1 TO Z
470 A1=A:B1=B-(I-1):GOSUB 1030:GOSUB 1040
480 IF L$=B$ OR L$=N1$ THEN 490 ELSE 110
490 NEXT I
500 FOR I=1 TO Z:GOSUB 1030:A$(A,B-(I-1))=N1$:NEXT I
510 GOTO 90
520 IF A+Z>X OR B-Z<1 THEN 110
530 FOR I=1 TO Z
540 A1=A+I-1:B1=B-(I-1)
550 GOSUB 1030
560 GOSUB 1040
570 IF L$=N1$ OR L$=B$ THEN 580 ELSE 110
580 NEXT I
590 FOR I=1 TO Z:GOSUB 1030:A$(A+I-1,B-(I-1))=N1$:NEXT I
600 GOTO 90
610 IF A+Z>X THEN 110
620 FOR I=1 TO Z
630 A1=A+I-1:B1=B:GOSUB 1030:GOSUB 1040
640 IF L$=N1$ OR L$=B$ THEN 650 ELSE 110
650 NEXT I
660 FOR I=1 TO Z:GOSUB 1030:A$(A+I-1,B)=N1$:NEXT I
670 GOTO 90
680 IF A+Z>X OR B+Z>Y THEN 110
690 FOR I=1 TO Z
700 A1=A+I-1:B1=B+I-1:GOSUB 1030:GOSUB 1040
710 IF L$=B$ OR L$=N1$ THEN 720 ELSE 110
720 NEXT I
730 FOR I=1 TO Z:GOSUB 1030:A$(A+I-1,B+I-1)=N1$:NEXT I
740 GOTO 90
750 A=INT(X*RND(8)+1):B=INT(Y*RND(8)+1):D=INT(8*RND(5)+1):RETURN
760 NEXT I1
770 FOR I=1 TO 5:PRINT:NEXT I
780 FOR I=1 TO X
790 FOR J=1 TO Y
800 IF A$(I,J)="" THEN 860
810 PRINT A$(I,J);" ";
820 NEXT J
830 PRINT:PRINT
840 NEXT I
850 PRINT:GOSUB 890:PRINT:GOTO 1130
860 A$(I,J)=CHR$(INT(26*RND(1)+65))
870 GOTO 810
880 PRINT
890 INPUT "DO YOU WANT THE ANSWERS";ANS$
900 ANS$=LEFT$(ANS$,1)
910 PRINT "THE HIDDEN WORDS ARE:"
920 FOR D1=1 TO N-1
930 FOR D2=D1+1 TO N
940 IF N$(D2)<=N$(D1) THEN SWAP N$(D1),N$(D2):
SWAP L(D1,1),L(D2,1):SWAP L(D1,2),L(D2,2):
SWAP L(D1,3),L(D2,3)
950 NEXT D2
960 NEXT D1
970 FOR K=1 TO N
980 PRINT N$(K);
990 IF ANS$="N" THEN PRINT:GOTO 1010
1000 PRINT TAB(30);L(K,1);",";L(K,2);",";L(K,3)
1010 NEXT K
1020 RETURN
1030 N1$=MID$(S$,I,1):RETURN
1040 L$=A$(A1,B1):RETURN
1050 FOR I=1 TO N
1060 PRINT "WORD #";I;:INPUT N$(I)
1070 IF LEN(N$(I))>U0 THEN PRINT "TOO LONG.":GOTO 1060
1080 FOR T=1 TO LEN(N$(I))
1090 IF ASC(MID$(N$(I),T,1))<65 OR ASC(MID$(N$(I),T,1))>90
THEN PRINT "ILLEGAL SYMBOLS.":GOTO 1060
1100 NEXT T
1110 NEXT I
1120 RETURN
1130 INPUT "DO YOU WANT TO RUN THIS PROGRAM AGAIN";A$
1140 IF LEFT$(A$,1)="Y" THEN RUN
1150 RUN "DIR" 1160 END 120 RETURN 1130 INPUT "DO YOU WANT TO RUN THIS PROGRAM AGAIN";A$