Помогите реализовать код!

<!DOCTYPE html>
<script>
const a = Math.floor(Math.random() * 100000 % 100)
do {
    let num = prompt('Игра: отгадай число от 1 до 100', 0);
    if (num == a) {
        alert('Угадал!');
    } else if (num > a) {
        alert('Твой ответ больше задуманного числа! Попробуй еще!', '');
    } else if (num < a) {
        alert('Твой ответ меньше задуманного числа! Попробуй еще!', '');
    }
} while (num !== a && num); 
 </script> 

Главной цели я добился, надо теперь сделать так, чтобы если я ввожу неправильное число, строка не исчезала, как делает мой код, а строка оставалась и давала мне еще попытку пока я не отгадаю число!


Ответы (1 шт):

Автор решения: azlov
let num = 0; // объявить переменную до цикла
do {
 ...
} while (num != a && num); // иначе здесь она не видна

И еще я позволил себе поставить нестрогое равенство num != a, так как num = prompt('Игра: отгадай число от 1 до 100', 0); вернет нам строку и цикл не закончится. Полный вариант

<!DOCTYPE html>
<script>
const a = Math.floor(Math.random() * 100000 % 100);
let num = 0; // объявить переменную до цикла
do {
    num = prompt('Игра: отгадай число от 1 до 100', 0);
    if (num == a) {
        alert('Угадал!');
    } else if (num > a) {
        alert('Твой ответ больше задуманного числа! Попробуй еще!', '');
    } else if (num < a) {
        alert('Твой ответ меньше задуманного числа! Попробуй еще!', '');
    }
} while (num != a && num); // иначе здесь она не видна
 </script> 
→ Ссылка