Нашли или выдавили из себя код, который нельзя назвать нормальным,
на который без улыбки не взглянешь?
Не торопитесь его удалять или рефакторить, — запостите его на
говнокод.ру, посмеёмся вместе!
Значит, знаки «меньше» и «больше» кастуют в число, поэтому первые две ветви работают правильно. А на третьей ветке облом, потому что inputNum всегда строка. Т. е. когда игрок угадал-таки число, ему об этом не сообщат.
Кароч! Вы все классные, то ли во всём, то ли практически во всём - правы))) Я сегодня на работе таки отрефакторил это и починил (частично сам, частично помогли). Пощу результат дабы подтвердить ваши слова. Не очень понял про Alert, но обдумаю и осознаю!
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);
CEHT9I6PbCKuu_nemyx # 0
К слову, в 17-й строке у нас «слабое» сравнение (!=), а в 14-й — строгое (===). Это может быть источником досрочного завершения.
bormand # 0
Имхо, надо было в основной prompt эти сообщения сувать. Удобнее будет.
CEHT9I6PbCKuu_nemyx # 0 ⇈
guest # 0
Умца-умца
>Перебор
Педобир
>Покасики
Покакусики
>Угадал
g: "изба гадальня анекдот"
guest # 0
``prompt`` всегда возвращает string. Его нужно ``parseInt``ить.
CEHT9I6PbCKuu_nemyx # 0 ⇈
shuric # 0
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);
bormand # 0 ⇈
Как-то так: