mirror of
https://github.com/kennethreitz/elizagen.org.git
synced 2026-06-21 15:10:57 +00:00
1 line
9.0 KiB
Plaintext
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
|