Игра "Угадать число" при переигровке показывает неверные результаты - 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);