1 REM Ins{nt av 2504 10 REM ******************************** 20 REM ELIZA.800 1983-07-12 30 REM av Karl-Gunnar Hultland 40 REM Till ABC80 och r{ttat av 50 REM Magnus Str}le 1984-01-26 60 REM ******************************** 70 REM  INITIERA VARIABLER  80 DIM I$=500%,P$=500%,C$=500%,\$=500% 90 DIM S%(38%),R%(38%),N%(38%) 100 N1%=38% : N2%=12% : N3%=119% 110 RESTORE 2600 120 FOR X%=1% TO N1% 130 READ S%(X%),L% 140 R%(X%)=S%(X%) : N%(X%)=S%(X%)+L%-1% 150 NEXT X% 160 RESTORE 1230 170 S%=S%+1% 180 READ K$ 190 IF K$="VEM" THEN F0%=S% 200 IF K$="NOKEYFOUND" THEN N4%=S% ELSE 170 210 ; CHR$(12%)"Hej, jag {r Lisa. "; 220 ; "Vad {r ditt problem?" 230 REM  MAIN  240 GOSUB 330 : REM Inmatning 250 GOSUB 710 : REM Finn nyckelord 260 GOSUB 1050 : REM Finn svar 270 IF F% THEN GOSUB 820 : REM Konvert. 280 GOSUB 1110 : REM Skriv svar 290 GOTO 240 300 REM ============================== 310 REM ========= SUBRUTINER ========= 320 REM ============================== 330 REM  SUBRUTIN F\R INMATNING  340 \$="" 350 ; STRING$(40%,ASC("+")); 360 REM LOOP TILLS RETURN 370 S1%=PEEK(65011%) : S2%=PEEK(65012%) 380 GET I9$ 390 IF PEEK(65011%)<(S1%+LEN(\$)/40%) THEN S1%=S1%-1% : GOTO 390 400 REM = CTRL-X? = 410 IF I9$<>CHR$(24%) THEN 430 420 ; CUR(S1%,S2%)SPACE$(LEN(\$))CUR(S1%,S2%); : \$="" : GOTO 380 430 REM = BAK]TPIL? = 440 IF I9$<>CHR$(8%) THEN 490 450 IF LEN(\$)=0% THEN 380 460 \$=LEFT$(\$,LEN(\$)-1%) 470 ; CUR(S1%,S2%)\$" "CUR(S1%,S2%)\$; 480 GOTO 380 490 REM = RETURN? = 500 IF I9$<>CHR$(13%) THEN 520 ELSE IF LEN(\$)=0% THEN 380 510 ; CHR$(10%); : GOTO 550 520 REM = TILL]TET TECKEN? = 530 IF I9$<" " OR I9$>"~" THEN 380 540 \$=\$+I9$ 550 ; I9$; 560 IF I9$<>CHR$(13%) THEN 380 570 ; STRING$(40%,ASC("=")); 580 I$=\$ 590 I$=" "+I$+" " 600 REM INGA APOSTROFER 610 FOR L%=1% TO LEN(I$) 620 I9$=MID$(I$,L%,1%) 630 IF INSTR(1%,",.';:""!-",I9$)=0% THEN 650 640 I$=LEFT$(I$,L%-1%)+RIGHT$(I$,L%+1%) : GOTO 610 650 IF I9$>="`" THEN I$=LEFT$(I$,L%-1%)+CHR$(ASC(I9$) AND 223%)+RIGHT$(I$,L%+1%) 660 NEXT L% 670 IF INSTR(1%,I$,"H]LL K[FT") THEN ; "H]LL K[FTEN..." : ; "o.k.!!!" : END 680 IF I$<>P$ THEN RETURN 690 ; "Var sn{ll och upprepa dig inte." 700 GOTO 340 710 REM  SUBRUTIN FINN NYCKELORD  720 RESTORE 1230 730 S%=0% 740 FOR K%=1% TO N1% 750 READ K$ 760 L%=INSTR(1%,I$,K$) 770 IF L% THEN F$=K$ : GOTO 810 780 NEXT K% 790 K%=N4% : REM Inget nyckelord funnet 800 IF INSTR(1%,I$,"?") THEN K%=F0% 810 \9%=L% : RETURN 820 REM  SUBRUTIN KONVERTERA  830 RESTORE 1320 840 C$=" "+RIGHT$(I$,\9%+LEN(F$))+" " 850 FOR X%=1% TO N2%/2% 860 READ S$,R$ 870 FOR L%=1% TO LEN(C$) 880 IF L%+LEN(S$)>LEN(C$) THEN 950 890 REM FINNS S$ I C$ 900 IF MID$(C$,L%,LEN(S$))<>S$ THEN 950 910 REM IS]FALL, BYT UT MOT R$ 920 C$=LEFT$(C$,L%-1%)+R$+RIGHT$(C$,L%+LEN(S$)) 930 L%=L%+LEN(R$) 940 GOTO 1010 950 IF L%+LEN(R$)>LEN(C$) THEN 1010 960 REM FINNS R$ I C$ 970 IF MID$(C$,L%,LEN(R$))<>R$ THEN 1010 980 REM IS]FALL, BYT UT MOT S$ 990 C$=LEFT$(C$,L%-1%)+S$+RIGHT$(C$,L%+LEN(R$)) 1000 L%=L%+LEN(S$) 1010 NEXT L% 1020 NEXT X% 1030 IF MID$(C$,1%,2%)=" " C$=RIGHT$(C$,2%) 1040 RETURN 1050 REM  SUBRUTIN FINN SVAR  1060 RESTORE 1380 1070 FOR X%=1% TO R%(K%) : READ F9$ : NEXT X% 1080 R%(K%)=R%(K%)+1% : IF R%(K%)>N%(K%) THEN R%(K%)=S%(K%) 1090 IF INSTR(1%,F9$,"*") THEN F%=-1% ELSE F%=0% 1100 RETURN 1110 REM  SUBRUTIN SKRIV SVAR  1120 P$=I$ 1130 IF F%=0% THEN \$=F9$ ELSE \$=LEFT$(F9$,INSTR(1%,F9$,"*")-1%)+C$ 1140 FOR I%=1% TO LEN(\$) 1150 I9$=MID$(\$,I%,1%) 1160 IF I%=1% OR (I9$<"@" OR I9$>"^") THEN ; I9$; ELSE ; CHR$(ASC(I9$) OR 32%); 1170 NEXT I% 1180 ; 1190 RETURN 1200 REM ============================== 1210 REM ===== DATA F\R NYCKELORD ===== 1220 REM ============================== 1230 DATA "VARF\R KAN JAG INTE","JAG KAN INTE","JAG INTE","DU INTE" 1240 DATA "KAN JAG","KAN DU","JAG VILL","JAG K[NNER","DU [R","JAG [R","[R DU" 1250 DATA " ARBETE"," FLICKOR"," POJKAR"," IDIOT"," DATOR"," VARF\R"," D[RF\R" 1260 DATA " URS[KT"," KANSKE"," ALLTID"," GODDAG","DR\M"," NAMN"," TRO" 1270 DATA " LIK "," V[N"," DIN"," HEJ "," VAD"," HUR"," VEM"," VAR"," N[R" 1280 DATA " DU "," NEJ "," JA ","NOKEYFOUND" 1290 REM ============================= 1300 REM === DATA F\R KONVERTERING === 1310 REM ============================= 1320 DATA " MITT "," DITT "," DU "," JAG "," DIN"," MIN" 1330 DATA " JAG HAR "," DU HAR "," JAG [R "," DU [R " 1340 DATA " MIG "," DIG " 1350 REM ============================= 1360 REM ======= DATA F\R SVAR ======= 1370 REM ============================= 1380 DATA "TROR DU INTE ATT JAG KAN*" 1390 DATA "KANSKE DU SKULLE VILJA KUNNA*" 1400 DATA "VILL DU ATT JAG SKULLE KLARA*" 1410 DATA "KANSKE DU INTE VILL*" 1420 DATA "BLIR DU N\JD AV ATT TRO ATT JAG [R*" 1430 DATA "VAD F]R DIG ATT TRO ATT JAG [R*" 1440 DATA "ROAR DET DIG ATT TRO ATT JAG [R*" 1450 DATA "KANSKE DU SKULLE VILJA VARA*" 1460 DATA "\NSKAR DU N]GON G]NG ATT DU VAR*" 1470 DATA "KAN DU VERKLIGEN INTE*" 1480 DATA "VARF\R KAN DU INTE*" 1490 DATA "SKULLE DU \NSKA ATT DU KUNDE*" 1500 DATA "OROAR DET DIG?" 1510 DATA "BER[TTA MER OM DEM K[NSLORNA." 1520 DATA "K[NNER DU OFTA ATT*" 1530 DATA "GILLAR DU ATT K[NNA*" 1540 DATA "TROR DU VERKLIGEN ATT JAG INTE*" 1550 DATA "KANSKE JAG SNART SKA*" 1560 DATA "VILL DU ATT JAG SKA*" 1570 DATA "TROR DU ATT DU SKULLE KUNNA*" 1580 DATA "VARF\R KAN DU INTE*" 1590 DATA "VARF\R [R DU INTRESERAD OM JAG [R ELLER INTE [R*" 1600 DATA "SKULLE DU F\REDRA OM JAG INTE VAR*" 1610 DATA "KANSKE I DINA FANTASIER JAG [R*" 1620 DATA "HUR VET DU ATT DU INTE KAN*" 1630 DATA "HAR DU F\RS\KT?" 1640 DATA "NU KANSKE DU KAN*" 1650 DATA "KOM DU TILL MIG F\R ATT DU [R*" 1660 DATA "HUR L[NGE HAR DU VARIT*" 1670 DATA "TROR DU ATT DET [R NORMALT ATT VARA*" 1680 DATA "GILLAR DU ATT VARA*" 1690 DATA "VI DISKUTERADE DIG, INTE MIG." 1700 DATA "OH!, JAG*" 1710 DATA "DU TALAR V[L INTE OM MIG??" 1720 DATA "VAD SKULLE DET BETYDA F\R DIG OM DU FICK*" 1730 DATA "VARF\R VILL DU*" 1740 DATA "T[NK OM DU SNART FICK*" 1750 DATA "T[NK OM DU ALDRIG KOMMER ATT F]*" 1760 DATA "JAG VILL OCKS] N]GON G]NG*" 1770 DATA "VARF\R FR]GAR DU?" 1780 DATA "INTRESERAR DEN D[R FR]GAN DIG?" 1790 DATA "VILKET SVAR SKULLE GL[DJA DIG MEST?" 1800 DATA "VAD TROR DU SJ[LV?" 1810 DATA "T[NKER DU OFTA P] S]DANA FR]GOR?" 1820 DATA "VAD [R DET SOM DU VERKLIGEN VILL VETA?" 1830 DATA "HAR DU FR]GAT N]GON ANNAN?" 1840 DATA "HAR DU FR]GAT S]DANA H[R FR]GOR TIDIGARE??" 1850 DATA "VAD MERA T[NKER DU P] N[R DU FR]GAR DET D[R?" 1860 DATA "NAMN INRESSERAR MIG INTE." 1870 DATA "JAG BRYR MIG INTE OM NAMN, MEN FORTS[TT [ND]." 1880 DATA "[R DET DEN RIKTIGA ORSAKEN?" 1890 DATA "KAN DU INTE KOMMA P] N]GRA ANDRA ORSAKER?" 1900 DATA "F\RKLARAR DEN D[R ORSAKEN N]GOT ANNAT?" 1910 DATA "VILKA ANDRA ORSAKER KAN DET FINNAS?" 1920 DATA "VAR SN[LL ATT INTE BE OM URS[KT." 1930 DATA "URS[KTER [R INTE N\DV[NDIGA." 1940 DATA "VILKA K[NSLOR HAR DU N[R DU BER OM URS[KT?" 1950 DATA "VAR INTE S] DEFENSIV!" 1960 DATA "VAD F]R DEN D[R DR\MMEN DIG ATT T[NKA P]?" 1970 DATA "DR\MMER DU OFTA?" 1980 DATA "VILKA PERSONER UPPTR[DER I DINA DR\MMAR?" 1990 DATA "ST\R DINA DR\MMAR DIG N]GONG]NG?" 2000 DATA "HEJ!! HUR M]R DU..VAR SN[LL ATT BER[TTA F\R MIG OM DINA PROBLEM." 2010 DATA "DU VERKAR INTE RIKTIGT S[KER." 2020 DATA "VARF\R DEN D[R OS[KRA TONEN?" 2030 DATA "KAN DU INTE VARA MERA POSITIV?" 2040 DATA "[R DU INTE S[KER?" 2050 DATA "VET DU INTE?" 2060 DATA "S[GER DU NEJ BARA F\R ATT VARA NEGATIV?" 2070 DATA "DU [R LITE NEGATIV." 2080 DATA "VARF\R INTE?" 2090 DATA "[R DU S[KER?" 2100 DATA "VARF\R 'NEJ'?" 2110 DATA "VARF\R BRYR DU DIG OM MIN*" 2120 DATA "HUR [R DET MED DIN EGEN*" 2130 DATA "KAN DU N[MNA ETT EXEMPEL?" 2140 DATA "N[R?" 2150 DATA "VAD T[NKER DU P]?" 2160 DATA "VERKLIGEN, ALLTID?" 2170 DATA "TROR DU VERKLIGEN DET?" 2180 DATA "MEN DU [R INTE S[KER ATT DU*" 2190 DATA "TVIVLAR DU ATT DU*" 2200 DATA "P] VILKET S[TT?" 2210 DATA "VILKA LIKHETER SER DU?" 2220 DATA "VAD F]R LIKHETEN DIG ATT T[NKA P]?" 2230 DATA "VILKA ANDRA SAMBAND SER DU?" 2240 DATA "KAN DET VERKLIGEN FINNAS ETT SAMBAND?" 2250 DATA "HUR?" 2260 DATA "[R DU S[KER?" 2270 DATA "DU VERKAR GANSKA POSITIV." 2280 DATA "JAHA" 2290 DATA "JAG F\RST]R." 2300 DATA "VARF\R B\RJAR DU ATT PRATA OM V[NNER?" 2310 DATA "OROAR DINA V[NNER DIG?" 2320 DATA "BR]KAR DINA V[NNER MED DIG?" 2330 DATA "[R DU S[KER ATT DU HAR N]GRA V[NNER?" 2340 DATA "IMPONERAR DU P] V[NNER?" 2350 DATA "KANSKE DIN K[RLEK TILL DINA V[NNER OROAR DIG." 2360 DATA "OROAR DATORER DIG?" 2370 DATA "[R DET MIG DU MENAR?" 2380 DATA "BLIR DU SKR[MD AV MASKINER?" 2390 DATA "VARF\R N[MNER DU DATORER?" 2400 DATA "VAD TROR DU ATT MASKINER HAR MED DINA PROBLEM ATT G\RA?" 2410 DATA "TROR DU INTE ATT DATORER KAN HJ[LPA M[NNISKOR?" 2420 DATA "VAD [R DET MED MASKINER SOM OROAR DIG?" 2430 DATA "S[G, HAR DU N]GRA PSYKISKA PROBLEM?" 2440 DATA "VAD F]R DET DIG ATT T[NKA P]?" 2450 DATA "FORTS[TT" 2460 DATA "JAG [R INTE S] S[KER ATT JAG F\RST]R DIG." 2470 DATA "RENSA UPP DINA TANKAR!" 2480 DATA "KAN DU UTVECKLA DET LITE N[RMARE." 2490 DATA "DET L]TER GANSKA INTRESSANT" 2500 DATA "DET [R DU SOM HAR PROBLEM, INTE JAG!" 2510 DATA "DET [R BRA ATT DU GER UTLOPP F\R DINA AGRESSIONER." 2520 DATA "HAR DU F\RS\KT ATT [GNA DIG LITE MER ]T DITT ARBETE?" 2530 DATA "HAR DU KONTAKTPROBLEM?" 2540 DATA "HAR DU PROVAT MED SUBSTITUT?" 2550 DATA "SKAPAR DET PROBLEM MED DITT ARBETE?" 2560 DATA "HAR DU KONTAKTPROBLEM P] DIN ARBETSPLATS?" 2570 REM ============================= 2580 REM == DATA F\R NYCKELORD-SVAR == 2590 REM ============================= 2600 DATA 20,2, 25,3, 10,4, 17,3, 3,2, 1,3, 35,5, 14,3, 5,5 2610 DATA 28,4, 22,3, 118,2, 115,3, 115,3, 113,2, 99,7, 40,9, 51,4 2620 DATA 55,4, 64,5, 76,4, 63,1, 59,4, 49,2, 80,3, 83,6, 93,6 2630 DATA 74,2, 63,1, 40,9, 40,9, 40,9, 40,9, 40,9, 32,3, 69,5 2640 DATA 89,4, 106,7