Example #1
0
 public static void PrintBotMessage(ChatBot bot, String message)
 {
     Console.ForegroundColor = ConsoleColor.DarkBlue;
     Console.Write("{0}: ", bot.Name);
     Console.ForegroundColor = ConsoleColor.Blue;
     Console.WriteLine(message);
 }
Example #2
0
 public static void StartConversation(ChatBot bot)
 {
     Console.Clear();
     Mode mode = Mode.Undefined;
     String responseMessage;
     ChatBot.PrintBotMessage(bot, bot.SayHello());
     while (mode != Mode.Goodbye)
     {
         mode = ChatBot.AnalyzeInput(bot, ChatBot.ReadMessage());
         switch (mode)
         {
             case Mode.Hello:
                 responseMessage = bot.SayHello();
                 break;
             case Mode.Goodbye:
                 responseMessage = bot.SayGoodby();
                 break;
             case Mode.HowAreYou:
                 responseMessage = bot.SayHowAreYou();
                 break;
             default:
                 responseMessage = bot.SayDontGot();
                 break;
         }
         ChatBot.PrintBotMessage(bot, responseMessage);
         if (mode == Mode.Goodbye)  // Wait for a key press in case of goodbye
             Console.ReadKey();
     }
 }
Example #3
0
 public static Mode AnalyzeInput(ChatBot bot, String message)
 {
     Mode mode = Mode.Undefined;
     int intersectionCnt = 0;
     int intersectionCntTmp;
     String response = bot.SayDontGot();
     HashSet<String> messageSet = ChatBot.GetWordsSet(message);
     Dictionary<Mode, HashSet<String>> dictionary = bot.GetDictionary();
     foreach(Mode m in dictionary.Keys)
     {
         intersectionCntTmp = dictionary[m].Intersect(messageSet).Count();
         if (intersectionCntTmp > intersectionCnt)
         {
             intersectionCnt = intersectionCntTmp;
             mode = m;
         }
     }
     return mode;
 }