- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
let randomNum = Math.floor(Math.random() * 10) + 1;
let inputNum
do {
inputNum = prompt('Угадай циферку!')
if (inputNum < randomNum) {
alert('Недобор');
} else if (inputNum > randomNum) {
alert('Перебор');
} else if (typeof inputNum === "string") {
alert('ну не, циферку же!');
} else if (inputNum == null || inputNum == '') {
alert('Покасики!');
} else if (inputNum === randomNum) {
alert('Угадал!!!'); break;
}
} while (inputNum != randomNum);
Оно сначала совсем не работало. Потом вдруг заработало. Потом я ему дал полежать, настояться, и оно работать перестало опять О_о моя нипанимать
К слову, в 17-й строке у нас «слабое» сравнение (!=), а в 14-й — строгое (===). Это может быть источником досрочного завершения.
Имхо, надо было в основной prompt эти сообщения сувать. Удобнее будет.
Умца-умца
>Перебор
Педобир
>Покасики
Покакусики
>Угадал
g: "изба гадальня анекдот"
``prompt`` всегда возвращает string. Его нужно ``parseInt``ить.
let randomNum = Math.floor(Math.random() * 10) + 1;
let inputNum
do {
inputNum = prompt('Угадай циферку!')
if (inputNum == null || inputNum == '') {
alert('Покасики!'); break;
} else if (inputNum > randomNum) {
alert('Перебор');
} else if (!parseInt(inputNum)) {
alert('ну не, циферку же!');
} else if (inputNum < randomNum) {
alert('Недобор');
} else if (+inputNum === randomNum) {
alert('Угадал!!!'); break;
}
} while (inputNum != randomNum);
Как-то так: