public void StartDialog() { bool dialogIsOn = true; Console.WriteLine("Бот обсуждений игр уже пришел, можете начинать общение."); while (dialogIsOn) { string userInput; Console.Write("Вы: "); userInput = Console.ReadLine(); if (_phrases.GoodByPhrases.FirstOrDefault(phrase => userInput.ToLower().Contains(phrase.ToLower())) != null) { Console.Write("Бот: "); TypingHelper.TypeString(TakeRandomItem(_phrases.GoodByPhrases)); dialogIsOn = false; } else if (_phrases.GreetingsPhrases.FirstOrDefault(phrase => userInput.ToLower().Contains(phrase.ToLower())) != null) { Console.Write("Бот: "); TypingHelper.TypeString(TakeRandomItem(_phrases.GreetingsPhrases)); } else { MainThemeDiscussing(userInput); } } Console.WriteLine("\nБот ушел(\n"); Console.ReadLine(); }
// Typing/Index?bookid=3&bookPage=2 // Typing?bookid=3&bookPage=2 public IActionResult Index(int bookID = _defaultBook, int bookPage = 0) { var book = _context.Book.Find(bookID); if (bookID == 1) { ViewBag.IsIntroduction = true; } var typingHelper = new TypingHelper(); var bookPages = typingHelper.DivideBook(book.BookContent); var authorNamesHelper = new GetAuthorsFullNameListHelper(_context); var authorsList = _context.Book.Where(x => x.ID == bookID) .SelectMany(x => x.BookAuthors) .Select(x => x.Author) .ToList(); var bookAuthors = authorNamesHelper.Get(bookID); var model = new TypingViewModel() { BookAuthors = bookAuthors, CurrentBookPage = bookPage, BookPages = bookPages, BookTitle = book.BookTitle, BookID = bookID }; return(View(model)); }
private void AskMeaningOfSomeWord(string userInput) { List <string> wordsList = userInput.Split(' ').ToList(); string askChoice = TakeRandomItem(wordsList); Console.Write("Бот: "); TypingHelper.TypeString($"Можешь рассказать по подробней о \"{askChoice}\"? Что это значит?"); Console.Write("Вы: "); string meaningInput = Console.ReadLine(); meaningDictionary.Add(askChoice, meaningInput); Console.Write("Бот: "); TypingHelper.TypeString("Спасибо, я это запомню). Что еще расскажешь?"); }
private void MainThemeDiscussing(string userInput) { string keyPhrase = _phrases.MainPhrases.Keys.FirstOrDefault(phrase => userInput.ToLower().Contains(phrase.ToLower())); string meaningPhrase = meaningDictionary.Keys.FirstOrDefault(phrase => userInput.ToLower().Contains(phrase.ToLower())); if (keyPhrase != null) { DiscussMainPhrase(keyPhrase); } else if (meaningPhrase != null) { BragOfKnowledge(meaningPhrase); } else { int choice = additionalRandomizer.DiscrDistr(); if (dynamicPhrasesList.Count < 1) { choice = random.Next(2, 3); } switch (choice) { //Generate result from dynamicPhrasesList case 1: { Console.Write("Бот: "); TypingHelper.TypeString(TakeRandomItem(dynamicPhrasesList)); break; } //Ask meaning of the any word case 2: { AskMeaningOfSomeWord(userInput); break; } //Continue dialog case 3: { Console.Write("Бот: "); TypingHelper.TypeString(TakeRandomItem(_phrases.CountinuingPhrases)); break; } } } }
public ActionResult Index(int bookID = 1, int bookPage = 0) { var book = db.Books.Find(bookID); var authors = "Test Author1" + ", " + "Test Author2"; var typingHelper = new TypingHelper(); if (bookID == 1) { ViewBag.IsIntroduction = true; } var model = new TypingViewModel() { BookAuthors = authors, CurrentBookPage = bookPage, BookPages = typingHelper.DivideBook(book.BookContent), BookTitle = book.BookTitle, BookID = bookID }; return(View(model)); }
private void DiscussMainPhrase(string userInput) { Console.Write("Бот: "); TypingHelper.TypeString(_phrases.MainPhrases[userInput].ElementAt(0)); dynamicPhrasesList.Add(_phrases.MainPhrases[userInput].ElementAt(1)); }
private void BragOfKnowledge(string meaningPhrase) { Console.Write("Бот: "); TypingHelper.TypeString($"Позволь похвастаться новыми знаниями) Я знаю, что {meaningPhrase} - {meaningDictionary[meaningPhrase]}"); }