void CBot::select_response() { if(bot_understand()) { shuffle(response_list, response_list.size()); m_sResponse = response_list[0]; } }
void Eliza::find_response() { find_keyword(); std::string tempStr = m_sKeyWord; tempStr.insert(0, " "); tempStr.append(" "); if(tempStr.find(" MY ") != std::string::npos || tempStr.find(" I'M ") != std::string::npos || tempStr.find(" I ") != std::string::npos) { memorise_input(); } save_user_name(); if(!bot_understand()) { handle_unknown_sentence(); } }
void ofxEliza::find_response() { find_keyword(); std::string tempStr = m_sKeyWord; tempStr.insert(0, " "); tempStr.append(" "); if(tempStr.find(" MY ") != std::string::npos || tempStr.find(" I'M ") != std::string::npos || tempStr.find(" I ") != std::string::npos) { m_sSymbol = "@"; extract_suffix(); memory.push(m_sSuffix); } save_user_name(); if(!bot_understand()) { handle_unknown_sentence(); } }
void CBot::respond() { save_prev_response(); set_event("BOT UNDERSTAND**"); if(null_input()) { handle_event("NULL INPUT**"); } else if(null_input_repetition()) { handle_event("NULL INPUT REPETITION**"); } else if(user_repeat()) { handle_user_repetition(); } else { find_match(); } if(user_want_to_quit()) { m_bQuitProgram = 1; } if(!bot_understand()) { handle_event("BOT DON'T UNDERSTAND**"); } if(response_list.size() > 0) { select_response(); preprocess_response(); if(bot_repeat()) { handle_repetition(); } print_response(); } }