大家好!一个问题。用JS写了一个小答案。用户必须从 0 到 1000 猜测一个数字,并且只给出 10 次尝试。当尝试用尽时,建议重新开始,如果用户拒绝,程序停止工作。程序本身是在无限循环中编写的,即 如果用户按下否,则循环应该中断。这是代码
(function() {
function num(min, max) {
return parseInt(Math.random() * (max - min) + min);
};
const randomNum = num(0, 1000);
let counter = 0;
window.start = function() {
let userNum = prompt("Введите число от 0 до 1000");
function isNumber(n) {
return !isNaN(parseFloat(n)) && isFinite(n);
}
while (true) {
function endGame() {
if (counter == 2) {
let end = confirm("У вас больше нет попыток! Хотите заново?");
if (end == true) {
counter = 0;
}
}
};
if (userNum == null) {
alert("До свидания!");
break;
}
while (userNum < 0 || userNum > 1000) {
alert("Вы ввели число вне диапазона!");
userNum = prompt("Введите число от 0 до 1000");
}
if (isNumber(userNum)) {
if (userNum < randomNum) {
alert("Больше");
counter++;
endGame();
userNum = prompt("Введите число от 0 до 1000");
} else if (userNum > randomNum) {
alert("Меньше");
counter++;
endGame();
userNum = prompt("Введите число от 0 до 1000");
} else if (userNum = randomNum) {
alert ("Вы угадали");
alert ("Игра окончена!")
break;
};
} else {
alert("Вы не ввели число! Введите чило!");
userNum = prompt("Введите число от 0 до 1000");
}
}
}
})();
事实是endGame函数是为中断而写的,但是break不起作用,问题是,如何使用这个函数实现循环中断,或者如果有其他选项,那谁知道,请告诉我?如果有不清楚的地方,我深表歉意!谢谢!