Игра "Угадать число" при переигровке показывает неверные результаты - C#

Узнай цену своей работы

Формулировка задачи:

Программа работает правильно, только когда угадываю число (допустим 43 с 5-й попытки), затем нажимаю 1, чтобы попробывать ещё раз и если опять ввожу это же число - 43, то программа пишет "Невероятно, вы угадали с 1-й попытки"... Но так не должно быть, цикл должен повторяться и значение угаданного числа сбрасываться... Где ошибка ?
Random rnd = new Random();
            int secretNum = rnd.Next(1, 100);
            int tryCount = 1;
            int UserNum;
            do
            {
                Console.Clear();
                Console.WriteLine("Я загадал число от 0 до 100");
                UserNum = Convert.ToInt32(Console.ReadLine());
                while (UserNum != secretNum && tryCount < 7)
                {
                    tryCount++;
                    if (UserNum > secretNum)
                    {
                        Console.WriteLine("Загаданное число меньше");
                    }
                    else
                    {
                        Console.WriteLine("Загаданное число больше");
                    }
                    if (tryCount >= 4)
                    {
                        int kr = rnd.Next(2, 9);
                        Console.WriteLine("Загаданное число {0} {1}", secretNum % kr == 0 ? "кратно" : "некратно", kr);
                    }
                    UserNum = Convert.ToInt32(Console.ReadLine());
                }
                if (UserNum == secretNum && tryCount == 1)
                {
                    Console.WriteLine("Невероятно!Вы угадали с 1-ой попытки");
                }
                else if (UserNum == secretNum && tryCount != 1)
                {
                    Console.WriteLine("Поздравляю, вы угадали с {0} попытки", tryCount);
                }
                else
                {
                    Console.WriteLine("Вы использовали все попытки");
                }
                Console.ReadKey();
                Console.WriteLine("Нажмите 1, чтобы повторить попытку");
                tryCount = 1;
            }
            while (Console.ReadKey().KeyChar == '1');

Решение задачи: «Игра "Угадать число" при переигровке показывает неверные результаты»

textual
Листинг программы
int secretNum = rnd.Next(1, 100);

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

15   голосов , оценка 3.8 из 5
Похожие ответы