[SlashMUD-commits] slashmudx/plugins/Eliza eliza.cc,1.2,1.3
Status: Alpha
Brought to you by:
koryn
From: Neil T. <nt...@us...> - 2005-01-10 01:21:15
|
Update of /cvsroot/slashmud/slashmudx/plugins/Eliza In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv6168 Modified Files: eliza.cc Log Message: Add additional processing to input string and correct text spelling errors. Index: eliza.cc =================================================================== RCS file: /cvsroot/slashmud/slashmudx/plugins/Eliza/eliza.cc,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** eliza.cc 9 Jan 2005 16:28:31 -0000 1.2 --- eliza.cc 10 Jan 2005 01:21:04 -0000 1.3 *************** *** 332,336 **** ElizaData, *gElizaDataPtr; ! struct ElizaData gElizaData[] = { --- 332,336 ---- ElizaData, *gElizaDataPtr; ! /* each keyword must have 2 entries */ struct ElizaData gElizaData[] = { *************** *** 364,368 **** { "why can not i", "Why can't you ^v?", -1, 1000 }, /* are you */ ! { "are you", "Wy are you interrested in whether or not I am ^v?", 0, 1000 }, { "are you", "Would you prefer I were not ^v?", 0, 1000 }, { "are you", "Perhaps in your fantasies I am ^n.", -1, 1000 }, --- 364,368 ---- { "why can not i", "Why can't you ^v?", -1, 1000 }, /* are you */ ! { "are you", "Why are you interested in whether or not I am ^v?", 0, 1000 }, { "are you", "Would you prefer I were not ^v?", 0, 1000 }, { "are you", "Perhaps in your fantasies I am ^n.", -1, 1000 }, *************** *** 388,392 **** /* what, how, who, where, when, why */ { "what", "Why do you ask?", 0, 1000 }, ! { "what", "Does that question interrest you?", 0, 1000 }, { "what", "What answer would please you most?", 0, 1000 }, { "what", "What do you think?", 0, 1000 }, --- 388,392 ---- /* what, how, who, where, when, why */ { "what", "Why do you ask?", 0, 1000 }, ! { "what", "Does that question interest you?", 0, 1000 }, { "what", "What answer would please you most?", 0, 1000 }, { "what", "What do you think?", 0, 1000 }, *************** *** 424,428 **** { "maybe", "You don't know?", -1, 1000 }, /* no */ ! { "no", "Oh. Well, then, what ^v?", 0, 1000 }, { "no", "You seem a litle negative.", 0, 1000 }, { "no", "Why not?", 0, 1000 }, --- 424,428 ---- { "maybe", "You don't know?", -1, 1000 }, /* no */ ! { "no", "Oh. Well, then, what ^v?", 0, 1000 }, { "no", "You seem a litle negative.", 0, 1000 }, { "no", "Why not?", 0, 1000 }, *************** *** 463,467 **** { "computer", "Remember, I am a computer.", 0, 1000 }, { "computer", "Meaning me, perhaps?", 0, 1000 }, ! { "computer", "Think of me as a frend.", 0, 1000 }, { "computer", "What about computers?", 0, 1000 }, { "computer", "So machines are part of the problem?", 0, 1000 }, --- 463,467 ---- { "computer", "Remember, I am a computer.", 0, 1000 }, { "computer", "Meaning me, perhaps?", 0, 1000 }, ! { "computer", "Think of me as a friend.", 0, 1000 }, { "computer", "What about computers?", 0, 1000 }, { "computer", "So machines are part of the problem?", 0, 1000 }, *************** *** 473,477 **** { "no key found", "I see.", 0, 1000 }, { "no key found", "I'm not sure I understand you fully.", 0, 1000 }, ! { "no key found", "Uhhhuh", 0, 1000 }, { "no key found", "Could you be more specific?", 0, 1000 }, { "no key found", "Interesting!", 0, 1000 }, --- 473,477 ---- { "no key found", "I see.", 0, 1000 }, { "no key found", "I'm not sure I understand you fully.", 0, 1000 }, ! { "no key found", "Uhhhuh!", 0, 1000 }, { "no key found", "Could you be more specific?", 0, 1000 }, { "no key found", "Interesting!", 0, 1000 }, *************** *** 483,492 **** { "no key found", "Tell me about your mother.", 0, 1000 }, { "no key found", "Tell me about your father.", 0, 1000 }, - { "no key found", "Uhhhuh", 0, 1000 }, { "no key found", "Tell me about your childhood.", 0, 1000 }, { "no key found", "That's interesting!", -1, 1000 }, /* mother */ { "mother", "I'm sure your mother loved you.", 0, 1000 }, ! { "mother", "Were you breast fed?", -1, 1000 }, /* father */ { "father", "Would you like to be like your father?", 0, 1000 }, --- 483,491 ---- { "no key found", "Tell me about your mother.", 0, 1000 }, { "no key found", "Tell me about your father.", 0, 1000 }, { "no key found", "Tell me about your childhood.", 0, 1000 }, { "no key found", "That's interesting!", -1, 1000 }, /* mother */ { "mother", "I'm sure your mother loved you.", 0, 1000 }, ! { "mother", "Would you like to be like your mother?", -1, 1000 }, /* father */ { "father", "Would you like to be like your father?", 0, 1000 }, *************** *** 953,958 **** /* create Eliza response */ - /* init arrays */ - /* todo determine gender of persion */ --- 952,955 ---- *************** *** 973,976 **** --- 970,1001 ---- index++; } + + /* remove punctuation ",.?!" from input string */ + /* todo move to common code */ + { + const char *remove_characters = ",.?!():;@"; + char *destination, *source, *found; + char local_buffer[kCatchTellBufferBytes]; + + destination = local_buffer; + source = input_buffer; + + input_buffer[kCatchTellBufferBytes - 1] = '\0'; /* assure null terminated */ + while(*source != '\0') + { + found = strchr(remove_characters, *source); + if (found == NULL) + { + /* not found in list of characters to remove */ + *destination = *source; + destination++; + } + source++; + } + *destination = '\0'; + + /* copy results back to main input buffer */ + strncpy(input_buffer, local_buffer, kCatchTellBufferBytes); + } /* todo if in_message is same as last in_message then *************** *** 1040,1043 **** --- 1065,1077 ---- } + /* remove space(s) from end of what_follows_buffer */ + if (strlen(what_follows_buffer) > 0) + { + while(what_follows_buffer[strlen(what_follows_buffer) - 1] == ' ') + { + what_follows_buffer[strlen(what_follows_buffer) - 1] = '\0'; + } + } + /* get eliza's response */ *************** *** 1064,1068 **** (gElizaData[keyword_index]).use_next++; } ! /* substitute tokens in response */ /* currently tokens are */ --- 1098,1102 ---- (gElizaData[keyword_index]).use_next++; } ! /* substitute tokens in response */ /* currently tokens are */ |