1: DECLARE SUB SolveDAProb () 2: DECLARE SUB ReadKey (t$, chrs!) 3: DECLARE SUB TeachMSmthing () 4: DECLARE SUB Define (t$) 5: DECLARE SUB Corr (n$) 6: DECLARE SUB Upper (n$) 7: RANDOMIZE TIMER 8: lne = 0 9: CLS 10: OPEN "greet.ai" FOR INPUT AS #1 11: DO UNTIL EOF(1): lne = lne + 1: LINE INPUT #1, a$: LOOP: 12: CLOSE 1 13: OPEN "Greet.ai" FOR INPUT AS #1 14: le = CINT(RND * lne) 15: IF le = 0 THEN le = lne 16: FOR qw = 1 TO le 17: LINE INPUT #1, Grt$ 18: NEXT qw 19: Corr Grt$ 20: PRINT "IS2000 Inteligentce Simulator 2000" 21: PRINT STRING$(LEN("----------------------------------"), 205) 22: PRINT "IS2000>"; TAB(10); Grt$ 23: LOCATE 4, 1, 0: PRINT "Human>"; TAB(10); 24: ReadKey Grt2$, 69 25: Corr Grt2$ 26: Grt2$ = RTRIM$(Grt2$) 27: Grt2$ = LTRIM$(Grt2$) 28: CLOSE #1 29: OPEN "Greets.ai" FOR INPUT AS #1 30: DO UNTIL EOF(1) 31: LINE INPUT #1, Mystr$ 32: IF Grt2$ = Mystr$ THEN g = 1 33: LOOP 34: CLOSE 1 35: OPEN "NGreets.ai" FOR INPUT AS #1 36: DO UNTIL EOF(1) 37: LINE INPUT #1, Mystr$ 38: IF Grt2$ = Mystr$ THEN g = -1 39: LOOP 40: CLOSE 1 41: OPEN "greet.ai" FOR APPEND AS #1 42: IF g = 1 THEN PRINT #1, Grt2$: CLOSE 1 ELSE IF g = -1 THEN GOTO 333 ELSE IF g = 0 THEN INPUT "Is that a greeting"; gt$: LOCATE 5, 1: PRINT " ": Upper gt$: IF gt$ = "Y" THEN CLOSE #1: OPEN "greets.ai" FOR APPEND AS #1: PRINT #1, Grt2$: CLOSE #1 ELSE CLOSE #1: OPEN "ngreets.ai" FOR APPEND AS #1: PRINT #1, Grt2$: LOCATE 5, 1: PRINT "IS2000>"; TAB(10); "Ok?": CLOSE #1 43: GOTO 334 44: 333 LOCATE 5, 1, 0: PRINT "IS2000>"; TAB(10); "Ok?" 45: 334 PRINT "Human>"; TAB(10); : ReadKey m$, 69 46: IF m$ = "TEACH" THEN TeachMSmthing 47: IF m$ = "USE INFO" THEN SolveDAProb 48: 49: SUB Corr (n$) 50: IF n$ = " " THEN EXIT SUB 51: IF n$ = "" THEN EXIT SUB 52: IF ASC(MID$(n$, 1, 1)) > 96 AND ASC(MID$(n$, 1, 1)) < 123 THEN MID$(n$, 1, 1) = CHR$(ASC(MID$(n$, 1, 1)) - 32) 53: IF LEN(n$) > 1 THEN ELSE EXIT SUB 54: FOR qw% = 2 TO LEN(n$) 55: IF ASC(MID$(n$, qw%, 1)) > 64 AND ASC(MID$(n$, qw%, 1)) < 91 THEN MID$(n$, qw%, 1) = CHR$(ASC(MID$(n$, qw%, 1)) + 32) 56: NEXT qw% 57: END SUB 58: 59: SUB Define (t$) 60: DIM aii(0 TO LEN(t$)) AS STRING 61: ab = 1 62: bb% = 1 63: FOR ab = 1 TO LEN(t$) 64: t$ = LTRIM$(t$) 65: t$ = RTRIM$(t$) 66: t$ = t$ + " " 67: DO UNTIL MID$(t$, ab, 1) = " " 68: aii(bb%) = aii(bb%) + MID$(t$, ab, 1) 69: ab = ab + 1 70: LOOP 71: bb% = bb% + 1 72: NEXT ab 73: FOR bba = 1 TO bb% - 1 74: Upper a$ 75: c$ = aii(bba) + ":" 76: OPEN "vocab.ai" FOR INPUT AS #2 77: DO UNTIL b$ = c$ 78: IF EOF(2) THEN CLOSE 2: OPEN "vocab.ai" FOR INPUT AS #2 79: LINE INPUT #2, b$ 80: LOOP 81: LINE INPUT #2, meng$ 82: PRINT meng$ 83: CLOSE #2 84: a$ = "" 85: c$ = "" 86: NEXT bba 87: END SUB 88: 89: SUB FindWrd (phr$, wrd$, fd) 90: wrd$ = LTRIM$(RTRIM$(wrd$)): phr$ = LTRIM$(RTRIM$(phr$)): wrd$ = " " + wrd$ + " ": phr$ = " " + phr$ + " ": fd = 0 91: 92: FOR q = 0 TO LEN(phr$) - LEN(wrd$) + 1 93: FOR w = 1 TO LEN(wrd$) 94: p$ = p$ + MID$(phr$, q + w, 1) 95: NEXT w 96: IF UCASE$(p$) = UCASE$(wrd$) THEN fd = q + 1: phr$ = LTRIM$(RTRIM$(phr$)): EXIT SUB 97: p$ = "" 98: NEXT q 99: END SUB 100: 101: SUB ReadKey (t$, chrs) 102: t$ = "" 103: DO UNTIL i$ = CHR$(13) OR i$ = CHR$(27) 104: IF i$ = CHR$(8) THEN IF LEN(t$) = 0 THEN i$ = "": GOTO 60 ELSE t$ = MID$(t$, 1, LEN(t$) - 1): LOCATE CSRLIN, POS(0) - 1: PRINT " "; : LOCATE CSRLIN, POS(0) - 1 105: i$ = INPUT$(1) 106: IF (ASC(i$) > -1 AND ASC(i$) < 32) OR (ASC(i$) > 32 AND ASC(i$) < 48) THEN GOTO 60 107: IF i$ = CHR$(13) OR i$ = CHR$(27) THEN GOTO 70 108: IF ASC(i$) < 123 AND ASC(i$) > 96 THEN i$ = CHR$(ASC(i$) - 32): PRINT i$; ELSE PRINT i$; 109: t$ = t$ + i$ 110: IF LEN(t$) >= chrs THEN t$ = MID$(t$, 1, LEN(t$) - 1): LOCATE CSRLIN, POS(0) - 1: PRINT " "; : LOCATE CSRLIN, POS(0) - 1 111: 60 LOOP 112: 70 PRINT "" 113: END SUB 114: 115: SUB SolveDAProb 116: ON ERROR GOTO 0 117: OPEN "KNLDGE.IS2" FOR INPUT AS #2 118: ln = 0 119: DO UNTIL EOF(2) 120: LINE INPUT #2, d$: ln = ln + 1 121: LOOP 122: CLOSE 2 123: IF ln = 1 THEN g$ = "thing" ELSE g$ = "things" 124: t$ = "ÉÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ»" 125: PRINT t$ 126: PRINT "ºI currently know"; ln; g$; TAB(LEN(t$)); "º" 127: PRINT "ÈÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍͼ" 128: PRINT "Enter Problem>"; : ReadKey m$, 70 129: END SUB 130: 131: SUB TeachMSmthing 132: ON ERROR GOTO 0 133: OPEN "KNLDGE.IS2" FOR INPUT AS #2 134: ln = 0 135: DO UNTIL EOF(2) 136: LINE INPUT #2, d$: ln = ln + 1 137: LOOP 138: CLOSE 2 139: IF ln = 1 THEN g$ = "thing" ELSE g$ = "things" 140: t$ = "ÉÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ»" 141: PRINT t$ 142: PRINT "ºI currently know"; ln; g$; TAB(LEN(t$)); "º" 143: PRINT "ÈÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍͼ" 144: 'ReadKey 145: END SUB 146: 147: SUB Upper (n$) 148: FOR qw% = 1 TO LEN(n$) 149: IF ASC(MID$(n$, qw%, 1)) > 96 AND ASC(MID$(n$, qw%, 1)) < 123 THEN MID$(n$, qw%, 1) = CHR$(ASC(MID$(n$, qw%, 1)) - 32) 150: NEXT qw% 151: END SUB 152: |