Exemplo n.º 1
0
        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();
        }
Exemplo n.º 2
0
        // 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));
        }
Exemplo n.º 3
0
        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("Спасибо, я это запомню). Что еще расскажешь?");
        }
Exemplo n.º 4
0
        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;
                }
                }
            }
        }
Exemplo n.º 5
0
        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));
        }
Exemplo n.º 6
0
 private void DiscussMainPhrase(string userInput)
 {
     Console.Write("Бот: ");
     TypingHelper.TypeString(_phrases.MainPhrases[userInput].ElementAt(0));
     dynamicPhrasesList.Add(_phrases.MainPhrases[userInput].ElementAt(1));
 }
Exemplo n.º 7
0
 private void BragOfKnowledge(string meaningPhrase)
 {
     Console.Write("Бот: ");
     TypingHelper.TypeString($"Позволь похвастаться новыми знаниями) Я знаю, что {meaningPhrase} - {meaningDictionary[meaningPhrase]}");
 }