コード例 #1
0
ファイル: Exam.cs プロジェクト: MekuChon/Cpp_eater
        public void TakeAnswer(TelegramBotClient bot, User currentUser, InlineKeyboardMarkup keyboard, int answer)
        {
            if (testPos <= tests.Count - 1)
            {
                if (tests[testPos].GetAnswer()[answer - 1])
                {
                    answerCount++;
                }
                testPos++;
                ShowTest(bot, currentUser.ChatID, keyboard);
            }
            else
            {
                if (answerCount >= tests.Count - 1)
                {
                    bot.SendTextMessageAsync(currentUser.ChatID, $"Ви успішно пройшли тест!\nВи відповіли на {answerCount} питань з {tests.Count}.");
                    answerCount = 0;
                    testPos     = 0;

                    if (currentUser.Level < 10)
                    {
                        currentUser.LevelUp();
                    }

                    XMLmanager.UpdateLevel(currentUser);
                }
                else if (answerCount < tests.Count - 1)
                {
                    bot.SendTextMessageAsync(currentUser.ChatID, $"Ви не пройшли тест! Визвіть команду /study\nВи відповіли на {answerCount} питань з {tests.Count}.");
                    answerCount = 0;
                    testPos     = 0;
                }
            }
        }
コード例 #2
0
        public void TakeAnswer(TelegramBotClient bot, User currentUser, ReplyKeyboardMarkup keyboard, int answer)
        {
            if (testPos <= tests.Count - 1)
            {
                if (tests[testPos].GetAnswer()[answer - 1])
                {
                    answerCount++;
                }
                testPos++;
                if (testPos > tests.Count - 1)
                {
                    if ((((double)answerCount / tests.Count) * 100) >= 80)
                    {
                        bot.SendTextMessageAsync(currentUser.ChatID, $"✨ Ви успішно пройшли тест ✨\nВи відповіли на {answerCount} питань з {tests.Count}!", replyMarkup: new ReplyKeyboardRemove());
                        answerCount = 0;
                        testPos     = 0;

                        if (currentUser.Level < 10)
                        {
                            currentUser.LevelUp();
                            if (currentUser.Level == 10)
                            {
                                bot.SendTextMessageAsync(currentUser.ChatID, "✨ Вітаємо з завершенням нашого курсу ✨ \nЩоб пройти курс заново, оберіть команду /reset.");
                            }
                        }

                        XMLmanager.UpdateLevel(currentUser);
                    }
                    else if ((((double)answerCount / tests.Count) * 100) < 80)
                    {
                        bot.SendTextMessageAsync(currentUser.ChatID, $"😞 Ви не пройшли тест 😞\n Визвіть команду /study, щоб отримати лекцію знову.\nВи відповіли на {answerCount} питань з {tests.Count}.", replyMarkup: new ReplyKeyboardRemove());
                        answerCount = 0;
                        testPos     = 0;
                    }
                }
                else
                {
                    ShowTest(bot, currentUser.ChatID, keyboard);
                }
            }
        }