Advertisement
Cassimus

ChatBot

Mar 29th, 2025
527
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 2.25 KB | None | 0 0
  1.  
  2.  
  3. public class ChatBot
  4. {
  5.     static string[] odpowiedzi = {
  6.         "Żegnaj wędrowcze, mam nadzieję że pomoglem", //0
  7.         "Żeby utworzyć Gildie musisz zebrać trzech czlonkow i wpłacić 500 monet do mnie, w celu rejestracji",
  8.         "Mam na sprzedaż eliksiry, zbroje i bronie ( w tym magiczne), o surowce musisz się sam postarać" +
  9.         "Mogę od ciebie odkupić złom. Nie widze nic wartościowego w twoim ekwipunku" //3
  10.     };
  11.  
  12.     static string[][] pytania =  {
  13.         ["żegna", "bye", "koniec", "do zobaczenia", "cu", "nara"],
  14.         ["twórz", "tworz", "załóż", "założ", "zakład", "gildi"],
  15.         ["sprzeda", "handel", "kupno", "wymiana", "wymie"]
  16.     };
  17.  
  18.  
  19.  
  20.     public static void Main(string[] args)
  21.     {
  22.         bool czyUruchominoRozmowe = true;
  23.         // Lider Frakcji :
  24.         // Utworzenie Gildii
  25.         //Sprzedaż i kupno itemów
  26.         System.Console.WriteLine("Lider Frakcji: Witaj podróżny. Co moge dla ciebie zrobić?");
  27.  
  28.         while (czyUruchominoRozmowe)
  29.         {
  30.             //Pytanie
  31.             Console.Write("Ty: ");
  32.             string wprowadzonyTekst = Console.ReadLine().ToLower();
  33.  
  34.             //Odpowiedź
  35.             // -1 -brak dopasowania, 0 - koniec rozmowy , >0 - komputer zna i pobiera odp.
  36.             int klucz = ZnajdzKlucz(wprowadzonyTekst);
  37.  
  38.             if(klucz < 0 )
  39.             {
  40.                 System.Console.WriteLine("Lider Frakcji: Nie do końca rozumiem o co Ci chodzi");
  41.             }
  42.             else if (klucz == 0)
  43.             {
  44.                 czyUruchominoRozmowe = false;
  45.                 WyswielanieOdpowiedzi(klucz);
  46.             }
  47.             else
  48.             {
  49.                 WyswielanieOdpowiedzi(klucz);
  50.             }
  51.  
  52.         }
  53.     }
  54.  
  55.     private static void WyswielanieOdpowiedzi(int klucz)
  56.     {
  57.         System.Console.WriteLine("Lider Frakcji: "+ odpowiedzi[klucz]);
  58.     }
  59.  
  60.     private static int ZnajdzKlucz(string wprowadzonyTekst)
  61.     {
  62.         for (int i = 0; i<pytania.Length; i++)
  63.         {
  64.             foreach(var slowo in pytania[i])
  65.             {
  66.                 if(wprowadzonyTekst.Contains(slowo))
  67.                 {
  68.                     return i;
  69.                 }
  70.             }
  71.         }
  72.         return -1;
  73.     }
  74. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement