mirror of https://github.com/wwarthen/RomWBW.git
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
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):
|
|
|
|
|