100 PRINT CHR$(26)
110 PRINT "PGM THINKER2.BAS,C. 5/85 BY JAMES PHILON."
120 PRINT "ALL RIGHTS RESERVED. A 'CONCEPT PROCESSOR'."
130 '
140 ' CODE IS FOR MICROSOFT BASIC, CAN EASILY BE
150 ' ADAPTED TO OTHER DIALECTS AND LANGUAGES.
160 '
170 ' ***DIMENSION THE ARRAYS***
180 U% = 64
190 DIM X$(U%),Y$(U%),YA$(U%),YM$(68)
200 DIM TY%(U%),Q$(36)
210 OO%=1
220 ' ***INITIALIZE ARRAYS AND CONSTANTS***
230 FOR X%=1 TO U%:READ X$(X%):NEXT X%
240 FOR X%=1 TO U%:READ Y$(X%):NEXT X%
250 FOR X%=1 TO U%:READ YA$(X%):NEXT X%
260 FOR X%=1 TO U%:READ YM$(X%):NEXT X%
270 YM$(65)="":YM$(66)="SOME":YM$(67)="THIS"
280 FOR X%=1 TO U%:READ TY%(X%):NEXT X%
290 FOR X%=22 TO 29:READ Q$(X%):NEXT X%
300 FD$="":IF A2%=1 THEN 700
310 PRINT CHR$(26)
320 PRINT "FOR HELP SEE THINKER2.DOC"
330 FOR X%=1 TO 1500:NEXT X%:PRINT CHR$(26)
340 ' ***PRINT THE WORD SET***
350 INPUT "   DO YOU WANT TO PRINT THE WORDS (Y/N) ";W$
360 IF LEFT$(W$,1)<>"Y" THEN 700
370 PRINT "   PRESS RETURN WHEN PRINTER IS READY"
380 INPUT "   OR TYPE ANY KEY + RETURN TO ABORT: ";W$
390 IF W$<>"" THEN 350
400 ST$=STRING$(80,"-")
410 IF FD$="" THEN LPRINT "   GENERAL VOCABULARY"

     ELSE LPRINT FD$
420 LPRINT
430 LPRINT "   USE 'FOR', 'WITH', 'BY', 'AS', 'ABOUT', 'TO', 'UP' AND"
440 LPRINT "   OTHER HELPING WORDS AFTER VERBS ENDING IN HYPHEN."
450 LPRINT "   USE THESE HELPERS SPARINGLY IN PLACE OF THOSE ALREADY"
460 LPRINT "   HAVING A HELPER AFTER A HYPHEN OR UNHYPHENATED VERBS."
470 LPRINT:LPRINT " THE VERBS:"
480 FOR X=1 TO 64
490   IF X/4=INT(X/4) THEN GOSUB 510

       ELSE LPRINT X;X$(X);" ";
500 NEXT X:GOTO 520
510 LPRINT X;X$(X);" ";:LPRINT:RETURN
520 LPRINT:LPRINT ST$:LPRINT:LPRINT "THE GENERAL NOUNS:"
530 FOR X = 1 TO 64
540   IF X/4=INT(X/4) THEN GOSUB 560

       ELSE LPRINT X;Y$(X);" ";
550 NEXT X:GOTO 570
560 LPRINT X;Y$(X);" ";:LPRINT:RETURN
570 LPRINT:LPRINT ST$:LPRINT:LPRINT "THE OBJECTIVE NOUNS:"
580 FOR X = 1 TO 64
590   IF X/4=INT(X/4) THEN GOSUB 610

       ELSE LPRINT X;YA$(X);" ";
600 NEXT X:GOTO 620
610 LPRINT X;YA$(X);" ";:LPRINT:RETURN
620 LPRINT:LPRINT
630 LPRINT:LPRINT ST$:LPRINT:LPRINT "THE NOUN MODIFIERS:"
640 FOR X = 1 TO 64
650   IF X/4=INT(X/4) THEN GOSUB 670

       ELSE LPRINT X;YM$(X);" ";
660 NEXT X:GOTO 680
670 LPRINT X;YM$(X);" ";:LPRINT:RETURN
680 LPRINT:LPRINT
690 ' ***OFFER AND DO VOCABULARY MODIFICATION***
700 INPUT "   DO YOU WANT TO CHANGE THE WORDS (Y/N) ";W$
710 IF LEFT$(W$,1) <> "Y" THEN 1610
720 PRINT CHR$(26)
730 INPUT "SWITCH CALCULATION ALGORITHM (Y/N)";W$
740 IF LEFT$(W$,1)="Y" THEN OO%=-OO%
750 IF OO%=1 THEN GJ$=" ABSTRACTLY" ELSE GJ$=" CONCRETELY"
760 PRINT CHR$(26)
770 INPUT "SUPPRESS/RESTORE 'SOME' AND 'THIS' (Y/N)";W$
780 IF LEFT$(W$,1) <> "Y" THEN 820
790 IF YM$(66)="" THEN 810
800 YM$(66)="":YM$(67)="":GOTO 820
810 YM$(66)="SOME":YM$(67)="THIS"
820 PRINT CHR$(26)
830 INPUT "SET VOCABULARY TO DEFAULT (Y/N)";W$
840 IF LEFT$(W$,1) <> "Y" THEN 870
850 FG$=""
860 RESTORE:A2%=1:GOTO 220
870 PRINT CHR$(26)
880 INPUT "REPLACE OLD WORDS WITH NEW (Y/N) ";W$
890 IF LEFT$(W$,1) <> "Y" THEN 1270
900 PRINT CHR$(26)
910 PRINT "  ENTER 1 TO QUIT":PRINT
920 PRINT "  PRESSING <RETURN> WITHOUT KEYING"
930 PRINT "  ANYTHING ADVANCES WITHOUT REPLACING"
940 FOR X%=1 TO 64
950   PRINT:PRINT:PRINT
960   PRINT X$(X%)
970   INPUT "ENTER REPLACEMENT";W1$
980   IF LEFT$(W1$,1) = "1" THEN 1020
990   IF W1$ <> "" THEN X$(X%)=W1$
1000   PRINT CHR$(26)
1010 NEXT X%
1020 FOR X%=1 TO 64
1030   PRINT:PRINT:PRINT
1040   PRINT Y$(X%)
1050   INPUT "ENTER REPLACEMENT";W1$
1060   IF LEFT$(W1$,1) = "1" THEN 1100
1070   IF W1$ <> "" THEN Y$(X%)=W1$
1080   PRINT CHR$(26)
1090 NEXT X%
1100 FOR X%=1 TO 64
1110   PRINT:PRINT:PRINT
1120   PRINT YA$(X%)
1130   INPUT "ENTER REPLACEMENT";W1$
1140   IF LEFT$(W1$,1) = "1" THEN 1180
1150   IF W1$ <> "" THEN YA$(X%)=W1$
1160   PRINT CHR$(26)
1170 NEXT X%
1180 FOR X%=1 TO 64
1190   PRINT:PRINT:PRINT
1200   PRINT YM$(X%)
1210   INPUT "ENTER REPLACEMENT";W1$
1220   IF LEFT$(W1$,1) = "1" THEN 1270
1230   IF W1$ <> "" THEN YM$(X%)=W1$
1240   PRINT CHR$(26)
1250 NEXT X%
1260 ' ***FILE AND RETRIEVE WORD SETS***
1270 PRINT CHR$(26)
1280 INPUT "  FILE A NEW VOCABULARY (Y/N) ";W$
1290 IF LEFT$(W$,1) <> "Y" THEN 1400
1300 INPUT "ENTER FILE NAME IN QUOTES: ";FL$
1310 PRINT
1320 PRINT "ENTER A 1 LINE DESCRIPTION OF FILE'S USE"
1330 INPUT FD$
1340 IF FD$="" THEN FD$="USING "+FL$
1350 OPEN "O",1,FL$
1360 PRINT #1,FD$;",";
1370 FOR X%=1 TO 64:PRINT #1, X$(X%);",";Y$(X%);",";YA$(X%);",";:NEXT X%
1380 FOR X%=1 TO 64:PRINT #1, YM$(X%);",";:NEXT X%
1390 CLOSE 1
1400 PRINT CHR$(26)
1410 INPUT "  RETRIEVE A VOCABULARY FILE (Y/N) ";W$
1420 IF LEFT$(W$,1)<>"Y" THEN 1610
1430 PRINT CHR$(26)
1440 INPUT " GIVE FILE DIRECTORY (Y/N)";W$
1450 IF LEFT$(W$,1) <> "Y" THEN 1470 
1460 PRINT:PRINT:FILES:PRINT
1470 INPUT "ENTER FILENAME IN QUOTES (OR CODE): ";FL$
1480 IF FL$="BIZ" THEN FL$="BIZWORDS.DAT"
1490 IF FL$="SCI" THEN FL$="SCIWORDS.DAT"
1500 OPEN "I",1,FL$
1510 INPUT #1,FD$
1520 FOR X%=1 TO 64
1530 INPUT #1,X$(X%),Y$(X%),YA$(X%)
1540 NEXT X%
1550 IF EOF(1) THEN 1590
1560   FOR X%=1 TO 64
1570     INPUT #1,YM$(X%)
1580   NEXT X%
1590 CLOSE 1
1600 ' ***ENTER MAIN PROCESSING***
1610 PRINT CHR$(26)
1620 INPUT "   READY TO USE THINKER2 (Y/N) ";W$
1630 IF LEFT$(W$,1)="Y" THEN 4090 ELSE 350
1640 ' ***GET THE INPUT INFORMATION***
1650 IF A2% <> 0 THEN 1700
1660 PRINT "  TO GET BACK TO THINKER OPTIONS"
1670 PRINT "  PRESS RETURN WITHOUT KEYING IN"
1680 PRINT "  ANYTHING AT 'PERSPECTIVE NO.' ":PRINT:PRINT
1690 A2%=1
1700 INPUT "ENTER PERSPECTIVE NO. FROM 1 TO 64";F$
1710 IF F$ = "" THEN 350 ELSE F%=VAL(F$)
1720 IF F%<1 OR F%>U% THEN 1700
1730 PRINT
1740 PRINT "ENTER: VERB, MODIFIER, GENERAL NOUN,"
1750 PRINT "VERB, MODIFIER, OBJECTIVE NOUN. USE '.' FOR"
1760 PRINT "NO MODIFIER.  MAY ABBREV. TO 1ST 4 LETTERS."
1770 INPUT A$,B1$,B$,C$,D1$,D$
1780 PRINT:INPUT "SWITCH ABSTRACT/CONCRETE PERSPECTIVE (Y/N)";W$
1790 IF LEFT$(W$,1)="Y" THEN OO%=-OO%
1800 IF OO%=1 THEN GJ$=" ABSTRACTLY" ELSE GJ$=" CONCRETELY"
1810 ' ***ALLOW THE FIRST FOUR LETTERS TO SERVE AS INPUT***
1820 O1%=0:O2%=0:O3%=0:O4%=0:O5%=0:O6%=0
1830 QO$="NOT "
1840 IF LEFT$(A$,4)<>QO$ THEN 1860
1850 TE%=LEN(A$)-4:A$=RIGHT$(A$,TE%):O1%=1
1860 IF LEFT$(B$,4)<>QO$ THEN 1880
1870 TE%=LEN(B$)-4:B$=RIGHT$(B$,TE%):O2%=1
1880 IF LEFT$(C$,4)<>QO$ THEN 1900
1890 TE%=LEN(C$)-4:C$=RIGHT$(C$,TE%):O3%=1
1900 IF LEFT$(D$,4)<>QO$ THEN 1920
1910 TE%=LEN(D$)-4:D$=RIGHT$(D$,TE%):O4%=1
1920 IF LEFT$(B1$,4)<>QO$ THEN 1940
1930 TE%=LEN(B1$)-4:B1$=RIGHT$(B1$,TE%):O5%=1
1940 IF LEFT$(D1$,4)<>QO$ THEN 1960
1950 TE%=LEN(D1$)-4:D1$=RIGHT$(D1$,TE%):O6%=1
1960 I%=0:J%=0:K%=0:L%=0:B1%=0:D1%=0
1970 FOR P%=1 TO U%
1980   IF LEFT$(A$,4)=LEFT$(X$(P%),4) THEN I%=P%
1990   IF LEFT$(B$,4)=LEFT$(Y$(P%),4) THEN J%=P%
2000   IF LEFT$(C$,4)=LEFT$(X$(P%),4) THEN K%=P%
2010   IF LEFT$(D$,4)=LEFT$(YA$(P%),4) THEN L%=P%
2020   IF LEFT$(B1$,4)=LEFT$(YM$(P%),4) THEN B1%=P%
2030   IF LEFT$(D1$,4)=LEFT$(YM$(P%),4) THEN D1%=P%
2040 NEXT P%
2050 IF I%=0 THEN PRINT A$;" NOT KNOWN"
2060 IF J%=0 THEN PRINT B$;" NOT KNOWN"
2070 IF K%=0 THEN PRINT C$;" NOT KNOWN"
2080 IF L%=0 THEN PRINT D$;" NOT KNOWN"
2090 IF B1%=0 AND B1$<>"." THEN PRINT B1$;" NOT KNOWN"
2100 IF D1%=0 AND D1$<>"." THEN PRINT D1$;" NOT KNOWN"
2110 IF (B1%=0 AND B1$<>".") OR (D1%=0 AND D1$<>".") THEN 1740
2120 IF I%=0 OR J%=0 OR K%=0 OR L%=0 THEN 1740
2130 A2$=X$(I%):B2$=Y$(J%):C2$=X$(K%):D2$=YA$(L%):B3$=YM$(B1%):D3$=YM$(D1%)
2140 QO$="NOT ":FOR X%=30 TO 35:Q$(X%)="":NEXT X%
2150 IF O1%<>1 THEN 2170
2160 I%=65-I%:Q$(30)=QO$
2170 IF O2%<>1 THEN 2190
2180 J%=65-J%:Q$(32)=QO$
2190 IF O3%<>1 THEN 2210
2200 K%=TY%(K%):Q$(33)=QO$
2210 IF O4%<>1 THEN 2230
2220 L%=TY%(L%):Q$(35)=QO$
2230 IF O5%<>1 THEN 2250
2240 B1%=65-B1%:Q$(31)=QO$
2250 IF O6%<>1 THEN 2270
2260 D1%=TY%(D1%):Q$(34)=QO$
2270 PRINT CHR$(26)
2280 ' *****CALCULATE VALUES FOR REPLIES*****
2290 ' ***FIRST CALCULATE MODIFIER VALUES***
2300 BJ=(B1%+J%)/2
2310 IF B1%<=J% THEN BK=(B1%-1+64-J%)/2

      ELSE BK=(J%-1+64-B1%)/2
2320 IF BJ<=BK THEN BL=BJ ELSE BL=BK
2330 IF J%>=B1% THEN BL=J%-BL ELSE BL=B1%-BL
2340 DJ=(D1%+L%)/2
2350 IF D1%<=L% THEN DK=(D1%-1+64-L%)/2

      ELSE DK=(L%-1+64-D1%)/2
2360 IF DJ<=DK THEN DL=DJ ELSE DL=DK
2370 IF L%>=D1% THEN DL=L%-DL ELSE DL=D1%-DL
2380 BL%=INT(BL)
2390 IF BL%<>BL THEN BM%=BL%+1 ELSE BM%=BL%
2400 DL%=INT(DL)
2410 IF DL%<>DL THEN DM%=DL%+1 ELSE DM%=DL%
2420 ' ***CALCULATE MAIN VALUES***
2430 T1%=1
2440 B%=J%:C%=I%
2450 GOSUB 2690:Q1%=V%
2460 B%=K%:C%=I%
2470 GOSUB 2690:R1%=V%
2480 B%=L%:C%=I%
2490 GOSUB 2690:S1%=V%
2500 B%=I%:C%=J%
2510 GOSUB 2690:Q2%=V%
2520 B%=K%:C%=J%
2530 GOSUB 2690:R2%=V%
2540 B%=L%:C%=J%
2550 GOSUB 2690:S2%=V%
2560 B%=I%:C%=K%
2570 GOSUB 2690:Q3%=V%
2580 B%=J%:C%=K%
2590 GOSUB 2690:R3%=V%
2600 B%=L%:C%=K%
2610 GOSUB 2690:S3%=V%
2620 B%=I%:C%=L%
2630 GOSUB 2690:Q4%=V%
2640 B%=J%:C%=L%
2650 GOSUB 2690:R4%=V%
2660 B%=K%:C%=L%
2670 GOSUB 2690:S4%=V%
2680 GOTO 3040
2690 IF OO%=1 THEN 2860
2700 IF C%<17 THEN V1=2
2710 IF C%>16 AND C%<49 THEN V1=3
2720 IF C%>48 THEN V1=4
2730 B%=B%+1:C%=C%+1
2740 V2=B%^V1+C%*F%
2750 V2=V2/66
2760 IF V2>65.49 THEN 2750
2770 V3=V2-INT(V2)
2780 IF V3<.0001 THEN V3=1/(F%+1)
2790 V4=V3*65.49
2800 IF V4>=1.5 THEN 2830
2810 IF V4>1 THEN V4=V4-1
2820 V4=V4*65.49:GOTO 2800
2830 IF V4>65.49 THEN V4=V4-F%
2840 V%=V4-1
2850 RETURN
2860 IF B%>C% THEN GOSUB 2900
2870 IF B%<C% THEN GOSUB 2960
2880 IF B%=C% THEN GOSUB 3010
2890 RETURN
2900 V%=B%-C%+12
2910 IF V%<24 THEN V%=V%-8
2920 IF V%>ABS(B%+C%-12) THEN V%=V%+4
2930 IF V%>64 THEN V%=V%-8
2940 IF V%>64 THEN V%=F%
2950 RETURN
2960 P%=B%+F%-C%
2970 IF P%=0 THEN V%=F%
2980 IF P%>0 THEN V%=P%+1
2990 IF P%<0 THEN V%=63+P%
3000 RETURN
3010 T1%=-T1%
3020 IF T1%>0 THEN V%=F% ELSE V%=65-F%
3030 RETURN
3040 A6%=0
3050 ' ***CALCULATE WITH MODIFIER VALUES***
3060 G0%=Q2%-BL%
3070 IF G0%<1 THEN G0%=G0%+64
3080 G1%=Q2%+BM%
3090 IF G1%>64 THEN G1%=G1%-64
3100 IF B1%=0 THEN G0%=65 AND G1%=Q2%
3110 IF B1%=0 AND D1%<>0 THEN G0%=66
3120 G2%=S2%-DL%
3130 IF G2%<1 THEN G2%=G2%+64
3140 G3%=S2%+DM%
3150 IF G3%>64 THEN G3%=G3%-64
3160 IF D1%=0 THEN G2%=65 AND G3%=S2%
3170 IF B1%<>0 AND D1%=0 THEN G2%=67
3180 G4%=R1%-BL%
3190 IF G4%<1 THEN G4%=G4%+64
3200 G5%=R1%+BM%
3210 IF G5%>64 THEN G5%=G5%-64
3220 IF B1%=0 THEN G4%=65 AND G5%=R1%
3230 IF B1%=0 AND D1%<>0 THEN G4%=66
3240 G6%=S4%-DL%
3250 IF G6%<1 THEN G6%=G6%+64
3260 G7%=S4%+DM%
3270 IF G7%>64 THEN G7%=G7%-64
3280 IF D1%=0 THEN G6%=65 AND G7%=S4%
3290 IF B1%<>0 AND D1%=0 THEN G6%=67
3300 G8%=R2%-BL%
3310 IF G8%<1 THEN G8%=G8%+64
3320 G9%=R2%+BM%
3330 IF G9%>64 THEN G9%=G9%-64
3340 IF B1%=0 THEN G8%=65 AND G9%=R2%
3350 IF B1%=0 AND D1%<>0 THEN G8%=66
3360 GA%=Q4%-DL%
3370 IF GA%<1 THEN GA%=GA%+64
3380 GB%=Q4%+DM%
3390 IF GB%>64 THEN GB%=GB%-64
3400 IF D1%=0 THEN GA%=65 AND GB%=Q4%
3410 IF B1%<>0 AND D1%=0 THEN GA%=67
3420 ' ***CALCULATE TO HANDLE NEGATIONS***
3430 FOR X%=1 TO 21:Q$(X%)="":NEXT X%
3440 IF O1%=0 THEN 3470
3450 Q$(2)=Q$(25):Q$(3)=Q$(26):Q$(4)=Q$(27):Q$(19)=Q$(22)
3460 Q$(17)=Q$(28):Q$(18)=Q$(29):Q$(21)=Q$(22):Q$(20)=Q$(23)
3470 IF (O2%=0 AND O5%=0) THEN 3500
3480 Q$(1)=Q$(24):Q$(19)=Q$(22):Q$(7)=Q$(24):Q$(20)=Q$(22)
3490 Q$(16)=Q$(27):Q$(21)=Q$(22)
3500 IF O3%=0 THEN 3540
3510 Q$(8)=Q$(25):Q$(9)=Q$(26):Q$(11)=Q$(28):Q$(12)=Q$(29)
3520 Q$(20)=Q$(22):IF Q$(19)<>Q$(22) THEN Q$(19)=Q$(23)
3530 Q$(14)=Q$(25):Q$(15)=Q$(26):Q$(21)=Q$(22)
3540 IF (O4%=0 AND O6%=0) THEN 3580
3550 Q$(5)=Q$(28):Q$(6)=Q$(29):Q$(19)=Q$(22)
3560 Q$(10)=Q$(27):Q$(20)=Q$(22):Q$(13)=Q$(24):Q$(21)=Q$(22)
3570 ' ***DISPLAY AND PRINT OUTPUT***
3580 IF FD$<>"" THEN PRINT "< ";FD$;" >"
3590 IF FD$<>"" THEN PRINT
3600 PRINT:PRINT "USING PERSPECTIVE ";F%;" ";X$(F%);GJ$
3610 PRINT
3620 PRINT Q$(30);A2$;" ";Q$(31);B3$;" ";Q$(32);B2$;" AND "
3630 PRINT Q$(33);C2$;" ";Q$(34);D3$;" ";Q$(35);D2$;".."
3640 PRINT
3650 PRINT Q$(19);Q$(1);X$(Q1%);" ";Q$(2);YM$(G0%);" ";Q$(3);Y$(G1%);" AND "
3660 PRINT Q$(4);X$(Q3%);" ";Q$(5);YM$(G2%);" ";Q$(6);YA$(G3%);"."
3670 PRINT Q$(20);Q$(7);X$(R4%);" ";Q$(8);YM$(G4%);" ";Q$(9);Y$(G5%);" AND "
3680 PRINT Q$(10);X$(S3%);" ";Q$(11);YM$(G6%);" ";Q$(12);YA$(G7%);"."
3690 PRINT Q$(21);Q$(13);X$(S1%);" ";Q$(14);YM$(G8%);" ";Q$(15);Y$(G9%);" AND "
3700 PRINT Q$(16);X$(R3%);" ";Q$(17);YM$(GA%);" ";Q$(18);YA$(GB%);"."
3710 PRINT
3720 INPUT "WRITE YOUR INTERPRETATION (Y/N) ";W$
3730 IF LEFT$(W$,1) <> "Y" THEN 3870
3740 H2$(1)="":H2$(2)="":H2$(3)="":H2$(4)=""
3750 FOR X%=1 TO 4
3760   H1$ = INKEY$
3770   IF H1$ = "" THEN 3760
3780   IF H1$ = CHR$(13) THEN 3830
3790   H2$(X%) = H2$(X%)+H1$
3800   IF H1$ = CHR$(8) THEN H2$(X%) = LEFT$(H2$(X%),LEN(H2$(X%))-2)
3810   PRINT H1$;
3820   GOTO 3760
3830   PRINT
3840 NEXT X%
3850 A9% = 1
3860 PRINT
3870 INPUT "PRINT OUT (Y/N) ";W$
3880 IF LEFT$(W$,1) <> "Y" THEN 4060
3890 LPRINT:IF FD$="" THEN LPRINT "   ( USING GENERAL WORD SET )"
3900 LPRINT:LPRINT "USING PERSPECTIVE ";F%;" ";X$(F%);GJ$
3910 LPRINT
3920 LPRINT Q$(30);A2$;" ";Q$(31);B3$;" ";Q$(32);B2$;" AND "
3930 LPRINT Q$(33);C2$;" ";Q$(34);D3$;" ";Q$(35);D2$;".."
3940 LPRINT
3950 LPRINT Q$(19);Q$(1);X$(Q1%);" ";Q$(2);YM$(G0%);" ";Q$(3);Y$(G1%);" AND "
3960 LPRINT Q$(4);X$(Q3%);" ";Q$(5);YM$(G2%);" ";Q$(6);YA$(G3%);"."
3970 LPRINT Q$(20);Q$(7);X$(R4%);" ";Q$(8);YM$(G4%);" ";Q$(9);Y$(G5%);" AND "
3980 LPRINT Q$(10);X$(S3%);" ";Q$(11);YM$(G6%);" ";Q$(12);YA$(G7%);"."
3990 LPRINT Q$(21);Q$(13);X$(S1%);" ";Q$(14);YM$(G8%);" ";Q$(15);Y$(G9%);" AND "
4000 LPRINT Q$(16);X$(R3%);" ";Q$(17);YM$(GA%);" ";Q$(18);YA$(GB%);"."
4010 LPRINT
4020 IF A9% <> 1 THEN 4060
4030 LPRINT
4040 LPRINT H2$(1):LPRINT H2$(2):LPRINT H2$(3):LPRINT H2$(4)
4050 ' ***CLEAR SCREEN/REPEAT PROCESS***
4060 INPUT "   CLEAR SCREEN (N/Y) ";W$
4070 IF LEFT$(W$,1)="N" THEN 4120
4080 A9%=0
4090 FOR X%=1 TO 24:FOR V%=1 TO 30
4100 NEXT V%:PRINT:NEXT X%
4110 PRINT CHR$(26)
4120 GOTO 1650
4130 ' ***THE WORD LIST DATA***
4140 ' ( VERBS )
4150 DATA AID,BRING,ACT-,ADAPT
4160 DATA ALTER,ASSIGN-,APPROACH,BEGIN
4170 DATA WAIT-,IMPROVE,USE,GET
4180 DATA WATCH,GIVE,WANT,GO-
4190 DATA DEAL-,SENSE,INVOLVE,MODIFY
4200 DATA DEVISE,SAY,INTRODUCE,MAKE
4210 DATA DESIGN,SOLVE,INFLUENCE,MANAGE
4220 DATA DO,SET-,INFORM-,MOVE
4230 DATA EXTEND,CONSIDER,KEEP,NOTICE
4240 DATA END,CHOOSE,CLEAR-,KNOW
4250 DATA FEEL,TEST,LEAVE,URGE
4260 DATA FIND,THINK,LEARN,SUGGEST
4270 DATA EVOLVE,REALIZE,ORGANIZE,RELATE-
4280 DATA WORK,SHOW,PLAY-,SHARE
4290 DATA HAVE,TAKE,SEE,TRY
4300 DATA DIRECT,QUESTION,CREATE,APPLY
4310 ' ( GENERAL NOUNS )
4320 DATA HELP,CONCERN,ACTIVITY,ADAPTATION
4330 DATA CHANGE,ASSIGNMENT,STRATEGY,STARTING
4340 DATA PAUSE,GROWTH,USEFULNESS,ACHIEVEMENT
4350 DATA OBSERVATION,SOURCE,REQUIREMENT,PROGRESS
4360 DATA LOVE,PERCEPTION,INVOLVEMENT,MODIFICATION
4370 DATA INGENUITY,ASCERTION,INTRODUCTION,PRODUCTION
4380 DATA DETERMINATION,SOLUTION,MOTIVATION,MANAGEMENT
4390 DATA DEDICATION,SITUATION,INFORMATION,MOVEMENT
4400 DATA ENDEAVOR,CONSIDERATION,RECALL,SIGNIFICANCE
4410 DATA ENDING,DECISION,CLARIFICATION,KNOWLEDGE
4420 DATA ENJOYMENT,EVALUATION,DEPARTURE,ARGUMENT
4430 DATA DISCOVERY,THEORY,MENTALITY,SUGGESTION
4440 DATA EVOLUTION,REALIZATION,ORGANIZATION,RELATIONSHIP
4450 DATA OPERATION,DEMONSTRATION,ROLE,AGREEMENT
4460 DATA POTENTIAL,INPUT,PERSON,ATTEMPT
4470 DATA REGULATION,INQUIRY,CREATION,APPLICATION
4480 ' ( OBJECTIVE NOUNS )
4490 DATA ADVANTAGE,SUPPLY,ACTIVE-PART,FUNCTION
4500 DATA ALTERNATIVE,THING,TACTIC,GOAL
4510 DATA DELAY,GAIN,TOOL,COLLECTION
4520 DATA OCCURENCE,NATURE,PROPERTY,EXCURSION
4530 DATA ARRANGEMENT,PRESENCE,SYSTEM,MECHANISM
4540 DATA DEVICE,EXPRESSION,COMPLEXITY,PRODUCT
4550 DATA STRUCTURE,PROBLEM,IMPETUS,RESOURCE
4560 DATA TASK,CIRCUMSTANCE,MESSAGE,OBJECT
4570 DATA EXTENSION,CONDITION,STORAGE,PECULIARITY
4580 DATA RESULT,POSSIBILITY,AREA,SIMILARITY
4590 DATA ORIENTATION,MEASUREMENT,POSITION,LIMITATION
4600 DATA LOCATION,METHOD,TECHNIQUE,CAPABILITY
4610 DATA KIND,BENEFIT,HUMAN-BEING,CHARACTERISTIC
4620 DATA FACILITY,APPEARANCE,GAME,COMMONALITY
4630 DATA RESPONSIVENESS,RECEIVER,SUBJECT,SENDER
4640 DATA PROCESS,CHANNEL,BELIEF,LOGIC
4650 ' ( NOUN MODIFIERS )
4660 DATA HELPFUL,CONCERNED,ACTIVE,ADAPTIVE
4670 DATA CHANGING,PLAUSIBLE,STRATEGIC,INITIAL
4680 DATA TIMELY,STRONG,USEFUL,ENTHUSIASTIC
4690 DATA OBSERVANT,ORIGINAL,NECESSARY,PROGRESSIVE
4700 DATA BEAUTIFUL,SENSITIVE,INTRICATE,MODIFYING
4710 DATA INSIGHTFUL,EXPRESSIVE,INNOVATIVE,PRODUCTIVE
4720 DATA ACCEPTABLE,POSITIVE,EARNEST,RESOURCEFUL
4730 DATA PARTICIPATING,CONTEXTUAL,INFORMATIVE,MOVING
4740 DATA EXTENSIVE,CONSIDERATE,OBVIOUS,IMPORTANT
4750 DATA FINAL,DECISIVE,CLEAR,SIMPLE
4760 DATA FAVORABLE,PARAMETERED,VITAL,SOPHISTICATED
4770 DATA SPECIFIC,THOUGHTFUL,SMART,ENABLING
4780 DATA EVOLVED,REAL,ORGANIC,RELATIVE
4790 DATA OPERATIONAL,PLAIN,PERTINENT,GOOD
4800 DATA POWERFUL,PERPETUATING,PERSONAL,ACTUAL
4810 DATA DIRECT,CERTAIN,CREATIVE,INTENSE
4820 ' TY%() DATA
4830 DATA 14,13,16,15,10,9,12,11,6,5,8,7,2,1,4,3
4840 DATA 42,41,44,43,46,45,48,47,34,33,36,35,38,37,40,39
4850 DATA 26,25,28,27,30,29,32,31,18,17,20,19,22,21,24,23
4860 DATA 62,61,64,63,58,57,60,59,54,53,56,55,50,49,52,51
4870 ' Q$() DATA
4880 DATA "(MIGHT) ","(COULD) ","WRONGLY ","(LESS THAN?) "
4890 DATA "(DEFICENCY OF?) ","POORLY ","(ONLY SOMEWHAT?) ","(DUBIOUS?) "
4900 '
4910 ' PROGRAM THINKER2.BAS IS COPYRIGHT 1985 BY
4920 ' JAMES J. PHILON.  ALL RIGHTS ARE RESERVED.
4925 ' 
4930 ' IT IS COPYRIGHT INFRINGEMENT TO VIOLATE THE
4940 ' THE USER LICENSE IMPLICITLY AGREED TO BY THE
4950 ' PURCHASE OF THIS SOFTWARE WHICH HAS AS ITS 
4960 ' CONDITIONS THAT COPIES BE MADE BY THE USER ONLY
4970 ' FOR THE USER'S OWN PERSONAL USE, THAT THEY MAY
4980 ' NOT BE SOLD TO OTHERS FOR THE USER'S PROFIT,
4990 ' OR, BE GIVEN TO OTHERS TO INJURE LEGITIMATE SALES.
5000 ' FURTHER, THE TERM RELATING ALGORITHMS AND WORD
5010 ' SETS IN THINKER2 ARE COPYRIGHT AND AS SUCH MAY 
5020 ' NOT BE INCORPORATED VERBATIM OR IN CLOSE FAC-
5030 ' SIMILE IN ANY PROGRAM FOR SALE OR IN ANY GEN-
5040 ' ERIC PROGRAM USED FOR THE SAME PURPOSES AS 
5050 ' THINKER2 THAT IT MIGHT BE SHARED WITHOUT ADD-
5060 ' ITIONAL PURCHASES OF THINKER2.  TO DISCUSS
5070 ' LIMITED RIGHTS BY PERMISSION TO SELL THINKER2
5080 ' OR TO SELL IMPROVEMENTS ON IT OR TO HAVE IT
5090 ' AT LOWER PRICE (EVEN FREE) FOR YOUR GROUP,
5100 ' CALL ME AT (317) 362-1923.
5110 END
ROVEMENTS ON IT OR TO HAVE IT
5090 ' AT LOWER PRICE (EVE