From 0676f7c587c9e540a57d132a1a726db05c1e843e Mon Sep 17 00:00:00 2001 From: Nick Downing Date: Thu, 4 Dec 2025 22:21:33 +1100 Subject: [PATCH] Add /mbasic_test.txt which is like /msbasic_test.txt but loads tests using BDOS emulation instead of typing them in, consistency changes in /msbasic_test.txt --- .gitignore | 1 + arrtest.bas | 138 +++++++++++++++++++++++++++++ fptest.bas | 55 ++++++++++++ mbasic_test.txt | 19 ++++ msbasic_test.txt | 10 ++- strtest.bas | 219 +++++++++++++++++++++++++++++++++++++++++++++++ 6 files changed, 438 insertions(+), 4 deletions(-) create mode 100644 arrtest.bas create mode 100644 fptest.bas create mode 100644 mbasic_test.txt create mode 100644 strtest.bas diff --git a/.gitignore b/.gitignore index ca2aabc..a9cd20b 100644 --- a/.gitignore +++ b/.gitignore @@ -24,4 +24,5 @@ /emu_pdp11_alt /emu_z80 /emu_z80_alt +/hello.bas /msbasic.ihx.orig diff --git a/arrtest.bas b/arrtest.bas new file mode 100644 index 0000000..25074d0 --- /dev/null +++ b/arrtest.bas @@ -0,0 +1,138 @@ +10 PRINT TAB(28);"AMAZING PROGRAM" +20 PRINT TAB(15);"CREATIVE COMPUTING MORRISTOWN, NEW JERSEY" +30 PRINT:PRINT:PRINT:PRINT +100 INPUT "WHAT ARE YOUR WIDTH AND LENGTH";H,V +102 IF H<>1 AND V<>1 THEN 110 +104 PRINT "MEANINGLESS DIMENSIONS. TRY AGAIN.":GOTO 100 +110 DIM W(H,V),V(H,V) +120 PRINT +130 PRINT +140 PRINT +150 PRINT +160 Q=0:Z=0:X=INT(RND(1)*H+1) +165 FOR I=1 TO H +170 IF I=X THEN 173 +171 PRINT ".--";:GOTO 180 +173 PRINT ". "; +180 NEXT I +190 PRINT "." +195 C=1:W(X,1)=C:C=C+1 +200 R=X:S=1:GOTO 260 +210 IF R<>H THEN 240 +215 IF S<>V THEN 230 +220 R=1:S=1:GOTO 250 +230 R=1:S=S+1:GOTO 250 +240 R=R+1 +250 IF W(R,S)=0 THEN 210 +260 IF R-1=0 THEN 530 +265 IF W(R-1,S)<>0 THEN 530 +270 IF S-1=0 THEN 390 +280 IF W(R,S-1)<>0 THEN 390 +290 IF R=H THEN 330 +300 IF W(R+1,S)<>0 THEN 330 +310 X=INT(RND(1)*3+1) +320 ON X GOTO 790,820,860 +330 IF S<>V THEN 340 +334 IF Z=1 THEN 370 +338 Q=1:GOTO 350 +340 IF W(R,S+1)<>0 THEN 370 +350 X=INT(RND(1)*3+1) +360 ON X GOTO 790,820,910 +370 X=INT(RND(1)*2+1) +380 ON X GOTO 790,820 +390 IF R=H THEN 470 +400 IF W(R+1,S)<>0 THEN 470 +405 IF S<>V THEN 420 +410 IF Z=1 THEN 450 +415 Q=1:GOTO 430 +420 IF W(R,S+1)<>0 THEN 450 +430 X=INT(RND(1)*3+1) +440 ON X GOTO 790,860,910 +450 X=INT(RND(1)*2+1) +460 ON X GOTO 790,860 +470 IF S<>V THEN 490 +480 IF Z=1 THEN 520 +485 Q=1:GOTO 500 +490 IF W(R,S+1)<>0 THEN 520 +500 X=INT(RND(1)*2+1) +510 ON X GOTO 790,910 +520 GOTO 790 +530 IF S-1=0 THEN 670 +540 IF W(R,S-1)<>0 THEN 670 +545 IF R=H THEN 610 +547 IF W(R+1,S)<>0 THEN 610 +550 IF S<>V THEN 560 +552 IF Z=1 THEN 590 +554 Q=1:GOTO 570 +560 IF W(R,S+1)<>0 THEN 590 +570 X=INT(RND(1)*3+1) +580 ON X GOTO 820,860,910 +590 X=INT(RND(1)*2+1) +600 ON X GOTO 820,860 +610 IF S<>V THEN 630 +620 IF Z=1 THEN 660 +625 Q=1:GOTO 640 +630 IF W(R,S+1)<>0 THEN 660 +640 X=INT(RND(1)*2+1) +650 ON X GOTO 820,910 +660 GOTO 820 +670 IF R=H THEN 740 +680 IF W(R+1,S)<>0 THEN 740 +685 IF S<>V THEN 700 +690 IF Z=1 THEN 730 +695 Q=1:GOTO 830 +700 IF W(R,S+1)<>0 THEN 730 +710 X=INT(RND(1)*2+1) +720 ON X GOTO 860,910 +730 GOTO 860 +740 IF S<>V THEN 760 +750 IF Z=1 THEN 780 +755 Q=1:GOTO 770 +760 IF W(R,S+1)<>0 THEN 780 +770 GOTO 910 +780 GOTO 1000 +790 W(R-1,S)=C +800 C=C+1:V(R-1,S)=2:R=R-1 +810 IF C=H*V+1 THEN 1010 +815 Q=0:GOTO 260 +820 W(R,S-1)=C +830 C=C+1 +840 V(R,S-1)=1:S=S-1:IF C=H*V+1 THEN 1010 +850 Q=0:GOTO 260 +860 W(R+1,S)=C +870 C=C+1:IF V(R,S)=0 THEN 880 +875 V(R,S)=3:GOTO 890 +880 V(R,S)=2 +890 R=R+1 +900 IF C=H*V+1 THEN 1010 +905 GOTO 530 +910 IF Q=1 THEN 960 +920 W(R,S+1)=C:C=C+1:IF V(R,S)=0 THEN 940 +930 V(R,S)=3:GOTO 950 +940 V(R,S)=1 +950 S=S+1:IF C=H*V+1 THEN 1010 +955 GOTO 260 +960 Z=1 +970 IF V(R,S)=0 THEN 980 +975 V(R,S)=3:Q=0:GOTO 1000 +980 V(R,S)=1:Q=0:R=1:S=1:GOTO 250 +1000 GOTO 210 +1010 FOR J=1 TO V +1011 PRINT "I"; +1012 FOR I=1 TO H +1013 IF V(I,J)<2 THEN 1030 +1020 PRINT " "; +1021 GOTO 1040 +1030 PRINT " I"; +1040 NEXT I +1041 PRINT +1043 FOR I=1 TO H +1045 IF V(I,J)=0 THEN 1060 +1050 IF V(I,J)=2 THEN 1060 +1051 PRINT ": "; +1052 GOTO 1070 +1060 PRINT ":--"; +1070 NEXT I +1071 PRINT "." +1072 NEXT J +1073 END diff --git a/fptest.bas b/fptest.bas new file mode 100644 index 0000000..0d09227 --- /dev/null +++ b/fptest.bas @@ -0,0 +1,55 @@ +10 PRINT "FPTEST" +20 REM P9=X9^Y9 === GOSUB 60030 +30 X9=.3:Y9=.7:GOSUB 60030:PRINT .3^.7,P9 +40 REM L9=LOG(X9) === GOSUB 60090 +50 X9=.4:GOSUB 60090:PRINT LOG(.4),L9 +60 REM E9=EXP(X9) === GOSUB 60160 +70 X9=.5:GOSUB 60160:PRINT EXP(.5),E9 +80 REM C9=COS(X9) === GOSUB 60240 +90 X9=.6:GOSUB 60240:PRINT COS(.6),C9 +100 REM T9=TAN(X9) === GOSUB 60280 +110 X9=.7:GOSUB 60280:PRINT TAN(.7),T9 +120 REM A9=ATN(X9) === GOSUB 60310 +130 X9=.8:GOSUB 60310:PRINT ATN(.8),A9 +140 END +60000 REM EXPONENTIATION: P9=X9^Y9 +60010 REM NEED: EXP, LOG +60020 REM VARIABLES USED: A9,B9,C9,E9,L9,P9,X9,Y9 +60030 P9=1 : E9=0 : IF Y9=0 THEN RETURN +60040 IF X9<0 THEN IF INT(Y9)=Y9 THEN P9=1-2*Y9+4*INT(Y9/2) : X9=-X9 +60050 IF X9<>0 THEN GOSUB 60090 : X9=Y9*L9 : GOSUB 60160 +60060 P9=P9*E9 : RETURN +60070 REM NATURAL LOGARITHM: L9=LOG(X9) +60080 REM VARIABLES USED: A9,B9,C9,E9,L9,X9 +60090 E9=0 : IF X9<=0 THEN PRINT "LOG FC ERROR"; : STOP +60095 A9=1 : B9=2 : C9=.5 : REM THIS WILL SPEED UP THE FOLLOWING +60100 IF X9>=A9 THEN X9=C9*X9 : E9=E9+A9 : GOTO 60100 +60110 IF X90 THEN PRINT "EXP OV ERROR"; : STOP +60175 E9=0 : RETURN +60180 E9=.693147*L9-X9 : A9=1.32988E-3-1.41316E-4*E9 +60190 A9=((A9*E9-8.30136E-3)*E9+4.16574E-2)*E9 +60195 E9=(((A9-.166665)*E9+.5)*E9-1)*E9+1 : A9=2 +60197 IF L9<=0 THEN A9=.5 : L9=-L9 : IF L9=0 THEN RETURN +60200 FOR X9=1 TO L9 : E9=A9*E9 : NEXT X9 : RETURN +60210 REM COSINE: C9=COS(X9) +60220 REM N.B. SIN MUST BE RETAINED AT LOAD-TIME +60230 REM VARIABLES USED: C9,X9 +60240 C9=SIN(X9+1.5708) : RETURN +60250 REM TANGENT: T9=TAN(X9) +60260 REM NEEDS COS. (SIN NUST BE RETAINED AT LOAD-TIME) +60270 REM VARIABLES USED: C9,T9,X9 +60280 GOSUB 60240 : T9=SIN(X9)/C9 : RETURN +60290 REM ARCTANGENT: A9=ATN(X9) +60300 REM VARIABLES USED: A9,B9,C9,T9,X9 +60310 T9=SGN(X9): X9=ABS(X9): C9=0 : IF X9>1 THEN C9=1 : X9=1/X9 +60320 A9=X9*X9 : B9=((2.86623E-3*A9-1.61657E-2)*A9+4.29096E-2)*A9 +60330 B9=((((B9-7.5289E-2)*A9+.106563)*A9-.142089)*A9+.199936)*A9 +60340 A9=((B9-.333332)*A9+1)*X9 : IF C9=1 THEN A9=1.5708-A9 +60350 A9=T9*A9 : RETURN diff --git a/mbasic_test.txt b/mbasic_test.txt new file mode 100644 index 0000000..0ccc4b4 --- /dev/null +++ b/mbasic_test.txt @@ -0,0 +1,19 @@ +10 INPUT "WHAT'S YOUR NAME";N$ +20 PRINT "HELLO, ";N$ +RUN +NICK +SAVE "HELLO",A +LOAD "FPTEST" +RUN +LOAD "ARRTEST" +RUN +10,10 +LOAD "STRTEST" +RUN +I FEEL DEPRESSED +I DON'T HAVE ANY FRIENDS +MAYBE I AM NOT HUMAN +I THINK I MIGHT BE A COMPUTER +SHUT UP +PRINT "DONE" +SYSTEM diff --git a/msbasic_test.txt b/msbasic_test.txt index 30d8a5b..324725d 100644 --- a/msbasic_test.txt +++ b/msbasic_test.txt @@ -1,5 +1,9 @@ -REM FLOATING-POINT TEST -10 PRINT "HELLO" +10 INPUT "WHAT'S YOUR NAME";N$ +20 PRINT "HELLO, ";N$ +RUN +NICK +NEW +10 PRINT "FPTEST" 20 REM P9=X9^Y9 === GOSUB 60030 30 X9=.3:Y9=.7:GOSUB 60030:PRINT .3^.7,P9 40 REM L9=LOG(X9) === GOSUB 60090 @@ -56,7 +60,6 @@ REM FLOATING-POINT TEST 60350 A9=T9*A9 : RETURN RUN NEW -REM ARRAY TEST 10 PRINT TAB(28);"AMAZING PROGRAM" 20 PRINT TAB(15);"CREATIVE COMPUTING MORRISTOWN, NEW JERSEY" 30 PRINT:PRINT:PRINT:PRINT @@ -198,7 +201,6 @@ REM ARRAY TEST RUN 10,10 NEW -REM STRING TEST 5 PRINT TAB(16)"**************************" 10 PRINT TAB(26)"ELIZA" 20 PRINT TAB(20)"CREATIVE COMPUTING" diff --git a/strtest.bas b/strtest.bas new file mode 100644 index 0000000..798cb05 --- /dev/null +++ b/strtest.bas @@ -0,0 +1,219 @@ +5 PRINT TAB(16)"**************************" +10 PRINT TAB(26)"ELIZA" +20 PRINT TAB(20)"CREATIVE COMPUTING" +30 PRINT TAB(18)"MORRISTOWN, NEW JERSEY":PRINT +40 PRINT TAB(19)"ADAPTED FOR IBM PC BY" +50 PRINT TAB(20)"PATRICIA DANIELSON AND PAUL HASHFIELD" +52 PRINT TAB(21)"BE SURE THAT THE CAPS LOCK IS ON +53 PRINT:PRINT TAB(16)"PLEASE DON'T USE COMMAS OR PERIODS IN YOUR INPUTS":PRINT +55 PRINT TAB(16)"*************************" +60 PRINT :PRINT :PRINT +80 REM*****INITIALIZATION********** +100 DIM S(36),R(36),N(36) +105 DIM KEYWORD$(36),WORDIN$(7),WORDOUT$(7),REPLIES$(112) +110 N1=36:N2=14:N3=112 +112 FOR X = 1 TO N1: READ KEYWORD$(X): NEXT X +114 FOR X = 1 TO N2/2: READ WORDIN$(X):READ WORDOUT$(X): NEXT X +116 FOR X = 1 TO N3: READ REPLIES$(X): NEXT X +130 FOR X=1 TO N1 +140 READ S(X),L:R(X)=S(X):N(X)=S(X)+L-1 +150 NEXT X +160 PRINT "HI! I'M ELIZA. WHAT'S YOUR PROBLEM?" +170 REM *********************************** +180 REM *******USER INPUT SECTION********** +190 REM *********************************** +200 INPUT I$ +201 I$=" "+I$+" " +210 REM GET RID OF APOSTROPHES +220 FOR L=1 TO LEN(I$) +230 REM IF MID$(I$,L,1)="'"THEN I$=LEFT$(I$,L-1)+RIGHT$(I$,LEN(I$)-L):GOTO 230 +240 IF L+4>LEN(I$)THEN 250 +241 IF MID$(I$,L,4) <> "SHUT" THEN 250 +242 PRINT "O.K. IF YOU FEEL THAT WAY I'LL SHUT UP...." +243 END +250 NEXT L +255 IF I$=P$ THEN PRINT "PLEASE DON'T REPEAT YOURSELF!":GOTO 170 +260 REM *********************************** +270 REM ********FIND KEYWORD IN I$********* +280 REM *********************************** +300 FOR K=1 TO N1 +320 FOR L=1 TO LEN (I$)-LEN (KEYWORD$(K))+1 +340 IF MID$(I$,L,LEN(KEYWORD$(K)))<>KEYWORD$(K) THEN 350 +341 IF K <> 13 THEN 349 +342 IF MID$(I$,L,LEN(KEYWORD$(29)))=KEYWORD$(29) THEN K = 29 +349 F$ = KEYWORD$(K): GOTO 390 +350 NEXT L +360 NEXT K +370 K=36: GOTO 570:REM WE DIDN'T FIND ANY KEYWORDS +380 REM ****************************************** +390 REM **TAKE PART OF STRING AND CONJUGATE IT**** +400 REM **USING THE LIST OF STRINGS TO BE SWAPPED* +410 REM ****************************************** +430 C$=" "+RIGHT$(I$,LEN(I$)-LEN(F$)-L+1)+" " +440 FOR X=1 TO N2/2 +460 FOR L=1 TO LEN(C$) +470 IF L+LEN(WORDIN$(X))>LEN(C$) THEN 510 +480 IF MID$(C$,L,LEN(WORDIN$(X)))<>WORDIN$(X) THEN 510 +490 C$=LEFT$(C$,L-1)+WORDOUT$(X)+RIGHT$(C$,LEN(C$)-L-LEN(WORDIN$(X))+1) +495 L = L+LEN(WORDOUT$(X)) +500 GOTO 540 +510 IF L+LEN(WORDOUT$(X))>LEN(C$)THEN 540 +520 IF MID$(C$,L,LEN(WORDOUT$(X)))<>WORDOUT$(X) THEN 540 +530 C$=LEFT$(C$,L-1)+WORDIN$(X)+RIGHT$(C$,LEN(C$)-L-LEN(WORDOUT$(X))+1) +535 L=L+LEN(WORDIN$(X)) +540 NEXT L +550 NEXT X +555 IF MID$(C$,2,1)=" "THEN C$=RIGHT$(C$,LEN(C$)-1):REM ONLY 1 SPACE +556 FOR L=1 TO LEN(C$) +557 IF MID$(C$,L,1)="!" THEN C$=LEFT$(C$,L-1)+RIGHT$(C$,LEN(C$)-L):GOTO 557 +558 NEXT L +560 REM ********************************************** +570 REM **NOW USING THE KEYWORD NUMBER (K) GET REPLY** +580 REM ********************************************** +600 F$ = REPLIES$(R(K)) +610 R(K)=R(K)+1:IF R(K)>N(K) THEN R(K)=S(K) +620 IF RIGHT$(F$,1)<>"*" THEN PRINT F$:P$=I$:GOTO 170 +625 IF C$<>" " THEN 630 +626 PRINT "YOU WILL HAVE TO ELABORATE MORE FOR ME TO HELP YOU" +627 GOTO 170 +630 PRINT LEFT$(F$,LEN(F$)-1);C$ +640 P$=I$:GOTO 170 +1000 REM ******************************* +1010 REM *****PROGRAM DATA FOLLOWS****** +1020 REM ******************************* +1030 REM *********KEYWORDS************** +1049 REM ******************************* +1050 DATA "CAN YOU ","CAN I ","YOU ARE ","YOU'RE ","I DON'T ","I FEEL " +1060 DATA "WHY DON'T YOU ","WHY CAN'T I ","ARE YOU ","I CAN'T ","I AM ","I'M " +1070 DATA "YOU ","I WANT ","WHAT ","HOW ","WHO ","WHERE ","WHEN ","WHY " +1080 DATA "NAME ","CAUSE ","SORRY ","DREAM ","HELLO ","HI ","MAYBE " +1090 DATA "NO","YOUR ","ALWAYS ","THINK ","ALIKE ","YES ","FRIEND " +1100 DATA "COMPUTER", "NOKEYFOUND" +1200 REM ********************************* +1210 REM ***STRING DATA FOR CONJUGATIONS** +1220 REM ********************************* +1230 DATA " ARE "," AM "," WERE "," WAS "," YOU "," I "," YOUR"," MY " +1235 DATA " I'VE "," YOU'VE "," I'M "," YOU'RE " +1240 DATA " ME "," YOU " +1300 REM ****************************** +1310 REM *********REPLIES************** +1320 REM ****************************** +1330 DATA "DON'T YOU BELIEVE THAT I CAN*" +1340 DATA "PERHAPS YOU WOULD LIKE TO BE LIKE ME*" +1350 DATA "YOU WANT ME TO BE ABLE TO*" +1360 DATA "PERHAPS YOU DON'T WANT TO*" +1365 DATA "DO YOU WANT TO BE ABLE TO*" +1370 DATA "WHAT MAKES YOU THINK I AM*" +1380 DATA "DOES IT PLEASE YOU TO BELIEVE I AM*" +1390 DATA "PERHAPS YOU WOULD LIKE TO BE*" +1400 DATA "DO YOU SOMETIMES WISH YOU WERE*" +1410 DATA "DON'T YOU REALLY*" +1420 DATA "WHY DON'T YOU*" +1430 DATA "DO YOU WISH TO BE ABLE TO*" +1440 DATA "DOES THAT TROUBLE YOU*" +1450 DATA "DO YOU OFTEN FEEL*" +1460 DATA "DO YOU OFTEN FEEL*" +1470 DATA "DO YOU ENJOY FEELING*" +1480 DATA "DO YOU REALLY BELIEVE I DON'T*" +1490 DATA "PERHAPS IN GOOD TIME I WILL*" +1500 DATA "DO YOU WANT ME TO*" +1510 DATA "DO YOU THINK YOU SHOULD BE ABLE TO*" +1520 DATA "WHY CAN'T YOU*" +1530 DATA "WHY ARE YOU INTERESTED IN WHETHER OR NOT I AM*" +1540 DATA "WOULD YOU PREFER IF I WERE NOT*" +1550 DATA "PERHAPS IN YOUR FANTASIES I AM*" +1560 DATA "HOW DO YOU KNOW YOU CAN'T*" +1570 DATA "HAVE YOU TRIED?" +1580 DATA "PERHAPS YOU CAN NOW*" +1590 DATA "DID YOU COME TO ME BECAUSE YOU ARE*" +1600 DATA "HOW LONG HAVE YOU BEEN*" +1610 DATA "DO YOU BELIEVE IT IS NORMAL TO BE*" +1620 DATA "DO YOU ENJOY BEING*" +1630 DATA "WE WERE DISCUSSING YOU--NOT ME." +1640 DATA "OH, I*" +1650 DATA "YOU'RE NOT REALLY TALKING ABOUT ME, ARE YOU?" +1660 DATA "WHAT WOULD IT MEAN TO YOU IF YOU GOT*" +1670 DATA "WHY DO YOU WANT*" +1680 DATA "SUPPOSE YOU SOON GOT*" +1690 DATA "WHAT IF YOU NEVER GOT*" +1700 DATA "I SOMETIMES ALSO WANT*" +1710 DATA "WHY DO YOU ASK?" +1720 DATA "DOES THAT QUESTION INTEREST YOU?" +1730 DATA "WHAT ANSWER WOULD PLEASE YOU THE MOST?" +1740 DATA "WHAT DO YOU THINK?" +1750 DATA "ARE SUCH QUESTIONS ON YOUR MIND OFTEN?" +1760 DATA "WHAT IS IT THAT YOU REALLY WANT TO KNOW?" +1770 DATA "HAVE YOU ASKED ANYONE ELSE?" +1780 DATA "HAVE YOU ASKED SUCH QUESTIONS BEFORE?" +1790 DATA "WHAT ELSE COMES TO MIND WHEN YOU ASK THAT?" +1800 DATA "NAMES DON'T INTEREST ME." +1810 DATA "I DON'T CARE ABOUT NAMES --PLEASE GO ON." +1820 DATA "IS THAT THE REAL REASON?" +1830 DATA "DON'T ANY OTHER REASONS COME TO MIND?" +1840 DATA "DOES THAT REASON EXPLAIN ANYTHING ELSE?" +1850 DATA "WHAT OTHER REASONS MIGHT THERE BE?" +1860 DATA "PLEASE DON'T APOLOGIZE!" +1870 DATA "APOLOGIES ARE NOT NECESSARY." +1880 DATA "WHAT FEELINGS DO YOU HAVE WHEN YOU APOLOGIZE?" +1890 DATA "DON'T BE SO DEFENSIVE!" +1900 DATA "WHAT DOES THAT DREAM SUGGEST TO YOU?" +1910 DATA "DO YOU DREAM OFTEN?" +1920 DATA "WHAT PERSONS APPEAR IN YOUR DREAMS?" +1930 DATA "ARE YOU DISTURBED BY YOUR DREAMS?" +1940 DATA "HOW DO YOU DO ...PLEASE STATE YOUR PROBLEM." +1950 DATA "YOU DON'T SEEM QUITE CERTAIN." +1960 DATA "WHY THE UNCERTAIN TONE?" +1970 DATA "CAN'T YOU BE MORE POSITIVE?" +1980 DATA "YOU AREN'T SURE?" +1990 DATA "DON'T YOU KNOW?" +2000 DATA "ARE YOU SAYING NO JUST TO BE NEGATIVE?" +2010 DATA "YOU ARE BEING A BIT NEGATIVE." +2020 DATA "WHY NOT?" +2030 DATA "ARE YOU SURE?" +2040 DATA "WHY NO?" +2050 DATA "WHY ARE YOU CONCERNED ABOUT MY*" +2060 DATA "WHAT ABOUT YOUR OWN*" +2070 DATA "CAN YOU THINK OF A SPECIFIC EXAMPLE?" +2080 DATA "WHEN?" +2090 DATA "WHAT ARE YOU THINKING OF?" +2100 DATA "REALLY, ALWAYS?" +2110 DATA "DO YOU REALLY THINK SO?" +2120 DATA "BUT YOU ARE NOT SURE YOU*" +2130 DATA "DO YOU DOUBT YOU*" +2140 DATA "IN WHAT WAY?" +2150 DATA "WHAT RESEMBLANCE DO YOU SEE?" +2160 DATA "WHAT DOES THE SIMILARITY SUGGEST TO YOU?" +2170 DATA "WHAT OTHER CONNECTIONS DO YOU SEE?" +2180 DATA "COULD THERE REALLY BE SOME CONNECTION?" +2190 DATA "HOW?" +2200 DATA "YOU SEEM QUITE POSITIVE." +2210 DATA "ARE YOU SURE?" +2220 DATA "I SEE." +2230 DATA "I UNDERSTAND." +2240 DATA "WHY DO YOU BRING UP THE TOPIC OF FRIENDS?" +2250 DATA "DO YOUR FRIENDS WORRY YOU?" +2260 DATA "DO YOUR FRIENDS PICK ON YOU?" +2270 DATA "ARE YOU SURE YOU HAVE ANY FRIENDS?" +2280 DATA "DO YOU IMPOSE ON YOUR FRIENDS?" +2290 DATA "PERHAPS YOUR LOVE FOR FRIENDS WORRIES YOU." +2300 DATA "DO COMPUTERS WORRY YOU?" +2310 DATA "ARE YOU TALKING ABOUT ME IN PARTICULAR?" +2320 DATA "ARE YOU FRIGHTENED BY MACHINES?" +2330 DATA "WHY DO YOU MENTION COMPUTERS?" +2340 DATA "WHAT DO YOU THINK MACHINES HAVE TO DO WITH YOUR PROBLEM?" +2350 DATA "DON'T YOU THINK COMPUTERS CAN HELP PEOPLE?" +2360 DATA "WHAT IS IT ABOUT MACHINES THAT WORRIES YOU?" +2370 DATA "SAY, DO YOU HAVE ANY PSYCHOLOGICAL PROBLEMS?" +2380 DATA "WHAT DOES THAT SUGGEST TO YOU?" +2390 DATA "I SEE." +2400 DATA "I'M NOT SURE I UNDERSTAND YOU FULLY." +2410 DATA "COME COME ELUCIDATE YOUR THOUGHTS." +2420 DATA "CAN YOU ELABORATE ON THAT?" +2430 DATA "THAT IS QUITE INTERESTING." +2500 REM ************************* +2510 REM *****DATA FOR FINDING RIGHT REPLIES +2520 REM ************************* +2530 DATA 1,3,4,2,6,4,6,4,10,4,14,3,17,3,20,2,22,3,25,3 +2540 DATA 28,4,28,4,32,3,35,5,40,9,40,9,40,9,40,9,40,9,40,9 +2550 DATA 49,2,51,4,55,4,59,4,63,1,63,1,64,5,69,5,74,2,76,4 +2560 DATA 80,3,83,7,90,3,93,6,99,7,106,6 -- 2.34.1