Files
elizagen.org/Other_Elizas/20130209_os9archive.rtsi.com|RSDOS|GAMES|ELIZA.BAS.txt
2021-07-26 13:13:33 -07:00

1 line
9.0 KiB
Plaintext

5 X=&HFF00:POKEX+1,52:POKEX+3,63:POKEX+35,60
6 CLS:PRINT"THIS IS AN UPDATED VERSION OF AN"CHR$(34)"ELIZA"CHR$(34)" PROGRAM THAT I FOUND ON A BBS SEVERAL YEARS AGO. I MADE SOME ADDITIONS TO ITS VACABULARYAND IMPROVED PROGRAM LOGIC. IT WILL SPEAK IF USED WITH THE R.S.SPEECH CARTRIDGE. IF THE ";
7 PRINT"SPEECH CARTRIDGE IS NOT USED HOWEVER, IT WILL WORK JUST FINE. IT USES THE HI-SPEED POKE IN LINE 280. THIS CAUSES SOME WEIRD LOW LEVELNOISES WHEN USING SPEECH CART. SOUNDS LIKE IT IS THINKING!!!"
8 PRINT"UPLOADED BY AL DAVENPORT","PPN 76703,557.....ENJOY!":PRINT"PRESS <ENTER> TO START.";:LINEINPUT"";A$
10 CLS:PRINT@14,"ELIZA":PRINT:PRINT"YOU ARE NOT FEELING WELL AND HAVE DECIDED TO CONSULT WITH A PSYCHOLOGIST ABOUT SOME OF YOUR PROBLEMS."
20 PRINT:PRINT"ELIZA WILL ASK YOU QUESTIONS DURING YOUR VISIT WHICH YOU SHOULD ANSWER WITH SHORT, BUT COMPLETE SENTENCES."
30 PRINT"ELIZA CHARGES $75 AN HOUR, SO DON'T WASTE YOUR TIME."
40 PRINT:LINEINPUT"PRESS <ENTER> TO START SESSION ";A$:CLS
50 CLEAR2000:DIMS(99),R(99),N(99):N1=45:N2=20:N3=130
60 FORX=1TON1+N2+N3:READZ$:NEXTX
70 FORX=1TON1:READS(X),L:R(X)=S(X):N(X)=S(X)+L-1:NEXTX
80 X$="HI!, I AM ELIZA, WHAT IS YOUR PROBLEM?":GOSUB2010
90 A$=""
100 X=PEEK(137)+PEEK(136)*256
110 POKEX,179:FORCN=1TO10:B$=INKEY$:IFB$<>""THEN140
120 NEXTCN:POKEX,172:FORCN=1TO10:B$=INKEY$
130 IFB$<>""THEN140ELSENEXTCN:GOTO110
140 POKEX,32:IFASC(B$)=13THEN200
150 IFASC(B$)=8ANDLEN(A$)<>0THEN160ELSE170
160 PRINTCHR$(143)CHR$(8);:A$=LEFT$(A$,LEN(A$)-1):PRINTB$;
170 IFASC(B$)=24THENA$="":PRINTCHR$(29)CHR$(30);
180 IFASC(B$)>31ANDASC(B$)<91THENPRINTB$;:A$=A$+B$
190 GOTO100
200 PRINT:I$=A$
220 I$=" "+I$+" "
230 FORL=1TOLEN(I$)
240 IFMID$(I$,L,1)="'"THENI$=LEFT$(I$,L-1)+RIGHT$(I$,LEN(I$)-L):GOTO240
250 IFL+4<=LEN(I$) AND MID$(I$,L,4)="SHUT"THENX$="O K, IF YOU WANT ME TO SHUT UP, I WILL!":GOSUB2010:END
260 NEXT
270 IFI$=P$THENX$="PLEASE DON'T REPEAT YOURSELF!":GOSUB2010:GOTO90
280 POKE65495,0:RESTORE:S=0:FORK=1TON1:READK$
290 IFS>0THEN330
300 FORL=1TOLEN(I$)-LEN(K$)+1
310 IFMID$(I$,L,LEN(K$))=K$THENS=K:T=L:F$=K$
320 NEXT
330 NEXT
340 IFS>0THENK=S:L=T:GOTO360
350 K=36:GOTO530
360 RESTORE:FORX=1TON1:READZ$:NEXT
370 C$=" "+RIGHT$(I$,LEN(I$)-LEN(F$)-L+1)
380 FORX=1TON2/2
390 READS$,R$
400 FORL=1TOLEN(C$)
410 IFL+LEN(S$)>LEN(C$)+1THEN460
420 IFMID$(C$,L,LEN(S$))<>S$THEN460
430 C$=LEFT$(C$,L-1)+R$+RIGHT$(C$,LEN(C$)-L-LEN(S$)+1)
440 L=L+LEN(R$)
450 GOTO500
460 IFL+LEN(R$)>LEN(C$)+1THEN500
470 IFMID$(C$,L,LEN(R$))<>R$THEN500
480 C$=LEFT$(C$,L-1)+S$+RIGHT$(C$,LEN(C$)-L-LEN(R$)+1)
490 L=L+LEN(S$)
500 NEXT
510 NEXT
520 IFMID$(C$,2,1)=" "THENC$=RIGHT$(C$,LEN(C$)-1)
530 RESTORE:FORX=1TON1+N2:READZ$:NEXT
540 FORX=1TOR(K):READF$:NEXT
550 R(K)=R(K)+1:IFR(K)>N(K)THENR(K)=S(K)
560 IFRIGHT$(F$,1)<>"*"THENX$=F$:P$=I$:GOSUB2010:GOTO90
570 X$=LEFT$(F$,LEN(F$)-1)+C$:GOSUB2010
580 P$=I$:GOTO90
590 DATA"CAN YOU","CAN I","YOU ARE","YOURE","I DONT","I FEEL"
600 DATA"WHY DONT YOU","WHY CANT I","ARE YOU","I CANT","I AM","IM "
610 DATA" NOT ","I WANT","WHAT","HOW","WHO","WHERE","WHEN","WHY"
620 DATA"NAME","CAUSE","SORRY","DREAM","HELLO","HI ","MAYBE"
630 DATA" NO ","YOUR","ALWAYS","THINK","ALIKE","YES","FRIEND"
640 DATA"COMPUTER","NOKEYFOUND","SEX","MAKE LOVE","HAPPY","SAD","CRAZY","NUT","SICK","LOVE"," YOU "
650 DATA" ARE "," AM "," WERE "," WAS "," YOU "," I "," YOUR "," MY "
660 DATA" IVE "," YOUVE "," IM "," YOURE "," ME "," YOU "," THIS "," THAT "," ANY "," EVERY "," MYSELF "," YOURSELF "
670 DATA"DONT YOU BELIEVE THAT I CAN*"
680 DATA"PERHAPS YOU WOULD LIKE TO BE ABLE TO*"
690 DATA"YOU WANT ME TO BE ABLE TO*"
700 DATA"PERHAPS YOU DONT WANT TO*"
710 DATA"DO YOU WANT TO BE ABLE TO*"
720 DATA"WHAT MAKES YOU THINK I AM*"
730 DATA"DOES IT PLEASE YOU TO BELIEVE I AM*"
740 DATA"PERHAPS YOU WOULD LIKE TO BE*"
750 DATA"DO YOU SOMETIMES WISH YOU WERE*"
760 DATA"DONT YOU REALLY*"
770 DATA"WHY DONT YOU*"
780 DATA"DO YOU WISH TO BE ABLE TO*"
790 DATA"DOES THAT TROUBLE YOU?"
800 DATA"TELL ME MORE ABOUT SUCH FEELINGS."
810 DATA"DO YOU OFTEN FEEL*"
820 DATA"DO YOU ENJOY FEELING*"
830 DATA"DO YOU REALLY BELIEVE I DONT*"
840 DATA"PERHAPS IN GOOD TIME I WILL*"
850 DATA"DO YOU WANT ME TO*"
860 DATA"DO YOU THINK YOU SHOULD BE ABLE TO*"
870 DATA"WHY CANT YOU*"
880 DATA"WHY ARE YOU INTERESTED IN WHETHER OR NOT I AM*"
890 DATA"WOULD YOU PREFER IF I WERE NOT*"
900 DATA"PERHAPS IN YOUR FANTASIES I AM*"
910 DATA"HOW DO YOU KNOW I CANT*"
920 DATA"HAVE YOU TRIED?"
930 DATA"PERHAPS YOU CAN NOW*"
940 DATA"DID YOU COME TO ME BECAUSE YOU ARE*"
950 DATA"HOW LONG HAVE YOU BEEN*"
960 DATA"DO YOU BELIEVE IT IS NORMAL TO BE*"
970 DATA"DO YOU ENJOY BEING*"
980 DATA"WE WERE DISCUSSING YOU--NOT ME"
990 DATA" I LIKE YOU."
1000 DATA"TALK ABOUT YOURSELF. YOU ARE NOT PAYING TO ANALYZE ME!"
1010 DATA"OH, I*"
1020 DATA"YOU EMBARRASS ME WHEN YOU TALK ABOUT ME. PLEASE STOP"
1030 DATA"STOP MAKING ME NERVOUS!"
1040 DATA"SINCE YOU INSIST ON TALKING ABOUT ME PERHAPS YOU WOULD LIKE TO TRADE PLACES?"
1050 DATA"YOURE NOT REALLY TALKING ABOUT ME, ARE YOU?"
1060 DATA"WHAT WOULD IT MEAN TO YOU IF YOU GOT*"
1070 DATA"WHY DO YOU WANT*"
1080 DATA"SUPPOSE YOU SOON GOT*"
1090 DATA"WHAT IF YOU NEVER GOT*"
1100 DATA"I SOMETIMES ALSO WANT*"
1110 DATA"WHY DO YOU ASK?"
1120 DATA"DOES THAT QUESTION INTEREST YOU?"
1130 DATA"WHAT ANSWER WOULD PLEASE YOU THE MOST?"
1140 DATA"WHAT DO YOU THINK?"
1150 DATA"ARE SUCH QUESTIONS ON YOUR MIND OFTEN?"
1160 DATA"WHAT IS IT THAT YOU REALLY WANT TO KNOW?"
1170 DATA"HAVE YOU ASKED ANYONE ELSE?"
1180 DATA"HAVE YOU ASKED SUCH QUESTIONS BEFORE?"
1190 DATA"WHAT ELSE COMES TO MIND WHEN YOU ASK THAT?"
1200 DATA"NAMES DONT INTEREST ME"
1210 DATA"I DONT CARE ABOUT NAMES--PLEASE GO ON"
1220 DATA"IS THAT THE REAL REASON?"
1230 DATA"DONT ANY OTHER REASONS COME TO MIND?"
1240 DATA"DOES THAT REASON EXPLAIN ANY- THING ELSE?"
1250 DATA"WHAT OTHER REASONS MIGHT THERE BE?"
1260 DATA"PLEASE, DONT APOLOGIZE!"
1270 DATA"APOLOGIES ARE NOT NECESSARY"
1280 DATA"WHAT FEELINGS DO YOU HAVE WHEN YOU APOLOGIZE?"
1290 DATA"DONT BE SO DEFENSIVE!"
1300 DATA"WHAT DOES THAT DREAM SUGGEST TO YOU?"
1310 DATA"DO YOU DREAM OFTEN?"
1320 DATA"WHAT PERSONS APPEAR IN YOUR DREAMS?"
1330 DATA"ARE YOU DISTURBED BY YOUR DREAMS?"
1340 DATA"HOW DO YOU DO...PLEASE STATE YOUR PROBLEM"
1350 DATA"YOU DONT SEEM QUITE CERTAIN"
1360 DATA"WHY THE UNCERTAIN TONE?"
1370 DATA"CAN'T YOU BE MORE POSITIVE?"
1380 DATA"YOU AREN'T SURE?"
1390 DATA"DONT YOU KNOW?"
1400 DATA"ARE YOU SAYING 'NO' JUST TO BE NEGATIVE?"
1410 DATA"YOU ARE BEING A BIT NEGATIVE"
1420 DATA"WHY NOT?"
1430 DATA"ARE YOU SURE?"
1440 DATA"WHY NO?"
1450 DATA"WHY ARE YOU CONCERNED ABOUT MY*"
1460 DATA"WHAT ABOUT YOUR OWN*"
1470 DATA"CAN YOU THINK OF A SPECIFIC EXAMPLE?"
1480 DATA"WHEN?"
1490 DATA"WHAT ARE YOU THINKING OF?"
1500 DATA"REALLY, ALWAYS?"
1510 DATA"DO YOU REALLY THINK SO?"
1520 DATA"BUT YOU ARE NOT SURE YOU*"
1530 DATA"DO YOU DOUBT YOU*"
1540 DATA"IN WHAT WAY?"
1550 DATA"WHAT RESEMBLANCE DO YOU SEE?"
1560 DATA"WHAT DOES THE SIMILARITY SUGGEST TO YOU?"
1570 DATA"WHAT OTHER CONNECTIONS DO YOU SEE?"
1580 DATA"COULD THERE REALLY BE SOME CONNECTION?"
1590 DATA"HOW?"
1600 DATA"YOU SEEM QUITE POSITIVE"
1610 DATA"ARE YOU SURE?"
1620 DATA"I SEE"
1630 DATA"I UNDERSTAND"
1640 DATA"WHY DO YOU BRING UP THE TOPIC OF FRIENDS?"
1650 DATA"DO YOUR FRIENDS WORRY YOU?"
1660 DATA"DO YOUR FRIENDS PICK ON YOU?"
1670 DATA"ARE YOU SURE YOU HAVE ANY FRIENDS?"
1680 DATA"DO YOU IMPOSE ON YOUR FRIENDS?"
1690 DATA"PERHAPS YOUR LOVE FOR FRIENDS WORRY YOU"
1700 DATA"DO COMPUTERS WORRY YOU?"
1710 DATA"ARE YOU TALKING ABOUT ME IN PARTICULAR?"
1720 DATA"ARE YOU FRIGHTENED BY MACHINES?"
1730 DATA"WHY DO YOU MENTION COMPUTERS?"
1740 DATA"WHAT DO YOU THINK MACHINES HAVE TO DO WITH YOUR PROBLEM?"
1750 DATA"DONT YOU THINK COMPUTERS CAN HELP PEOPLE?"
1760 DATA"WHAT IS IT ABOUT MACHINES THAT WORRIES YOU?"
1770 DATA"SAY, IS THERE ANY OTHER PROBLEM THAT IS BOTHERING YOU?"
1780 DATA"WHAT DOES THAT SUGGEST TO YOU?"
1790 DATA"I SEE"
1800 DATA"WERE YOU HAPPY AS A CHILD?"
1810 DATA"COME, COME, YOU CAN SPEAK PLAINER THAN THAT!"
1820 DATA"CAN YOU ELABORATE ON THAT?"
1830 DATA"THAT IS QUITE INTERESTING!"
1840 DATA"DO YOU HAVE ANY FANTASIES?"
1850 DATA"WHAT KIND OF PERSON ARE YOU?"
1860 DATA"ARE YOU HAPPY OR ARE YOU SAD?"
1870 DATA"LETS CHANGE THE SUBJECT"
1880 DATA"DO YOU WANT TO TALK ABOUT SEX?"
1890 DATA"ARE YOU SATISFIED WITH YOUR SEX LIFE?"
1900 DATA"DO YOU DREAM ABOUT HAVING SEX WITH EVERYONE?"
1910 DATA"WHO WOULD YOU WANT IF YOU COULD HAVE ANYONE?"
1920 DATA"DO YOU WANT TO HAVE SEX WITH ME?"
1930 DATA"IT IS IMPORTANT TO BE HAPPY DONT YOU THINK?"
1940 DATA"IS THERE SOMETHING THAT YOU REALLY WANT?"
1950 DATA"DO YOU THINK YOU ARE CRAZY?"
1960 DATA"YOU SHOULD NOT SAY THAT ABOUT YOURSELF"
1970 DATA1,3,4,2,6,4,6,4,10,4,14,3,17,3,20,2,22,3,25,3
1980 DATA28,4,28,4,74,5,40,5,45,9,45,9,45,9,45,9,45,9,45,9
1990 DATA54,2,56,4,60,4,64,4,68,1,68,1,69,5,74,5,79,2,81,4
2000 DATA85,3,88,7,95,3,98,6,104,7,111,11,122,5,122,5,127,2,127,2,129,2,129,2,129,2,122,5,32,8
2010 POKE65494,0:IFPEEK(137)+PEEK(136)*256=>1400THENCLS
2020 FORX=1TOLEN(X$)
2040 IFMID$(X$,X,1)<>" " OR POS(0)<21 THEN2060
2050 PRINT" ":GOTO2070
2060 PRINTMID$(X$,X,1);:POKE&HFF7E,ASC(MID$(X$,X,1))
2070 NEXTX:PRINT:POKE&HFF7E,13:RETURN