HTML:
<body>
<div id="test"></div>
<div id="text"></div>
<input type="text" id="input">
<button id="button">OK</button>
<script src="script.js"></script>
</body>
let name = null;
const randomNumber = Math.floor(Math.random() * 100);
const button = document.getElementById("button");
const input = document.getElementById("input");
const text = document.getElementById("text");
const test = document.getElementById("test");
test.textContent = randomNumber;
text.textContent = "Введите имя";
button.onclick = function () {
while (name === null) {
if (input.value === "") {
alert("Введите имя!");
return;
} else {
text.textContent = "Здравствуйте, "+name+"! Вы играете в игру ''Угадай число''! Если вы будете говорить неправильный ответ, то я буду подсказывать вам! Удачи!";
name = input.value;
break;
}
}
if (name !== null) {
if (Number(input.value) === randomNumber) {
text.textContent = "Вы победили!";
} else {
if (Number(input.value) > randomNumber) {
text.textContent = "Моё число меньше!";
} else {
text.textContent = "Моё число больше!";
}
}
}
}
Не могу понять, почему при вводе имени сразу же говорится "число больше"/"число меньше", хотя сперва должно выводиться "Привет, ...". В условии указано, что name === null и так и есть.
Также хотелось бы задать небольшой вопрос: как сделать, чтобы после ввода имени не выводилось "число больше"/"число меньше"? То есть алгоритм принимает введенное имя за попытку угадать число, мне нужно сделать чтобы функция как бы подождала один ввод перед выполнением следующего if-a.
Заранее спасибо!