Угадайка v2
by LuckyCat
JavaScript
var robotNumber = 1 + Math.floor( Math.random() * (50+1-1) );
console.log("Робот загадал: " + robotNumber);
var MAX_GUESSES = 5; // максимальное допустимое число попыток.
var userInput; // число, которое ввел
var userNumber; // число пользователя
var userAttems = 0; // количество попыток, которые уже сделал юзер
var userWin = false;
var userLosing = false;
var userCancel = false; // если нажал на отмену, крестик
var prevNum;
var currentNum;
var promptText = "Enter number:";
do {
userInput = prompt(promptText);
if (userInput === null) {
userCancel = true;
console.log(userCancel);
break;
}
userNumber = parseInt(userInput.trim(), 10); //преобразование строки с вырезанными пробельными символами с её концов
userAttems += 1;
currentNum = Math.abs(robotNumber - userNumber);
console.log("Текущее число: " + currentNum);
if (currentNum === 0) {
userWin = true;
}
else if (currentNum <= prevNum)
{
promptText = "Теплее";
}
else {
promptText = "Холоднее";
}
prevNum = currentNum;
} while (!userWin && !userCancel && (userAttems < MAX_GUESSES));
// Функция для склонения числительных, честно стырена с инета))
// http://htmler.ru/2013/11/22/sklonenie-chislitelnah-na-javascript/
function num2str(n, text_forms) {
n = Math.abs(n) % 100;
var n1 = n % 10;
if (n > 10 && n < 20) {
return text_forms[2];
}
if (n1 > 1 && n1 < 5) {
return text_forms[1];
}
if (n1 == 1) {
return text_forms[0];
}
return text_forms[2];
}
if (userWin === true) {
alert("Победа! За " + userAttems + ' ' + num2str(userAttems, ['попытку', 'попытки', 'попыток']));
} else if (userCancel) {
alert("Ты сдался!");
}
else {
alert("Ты проиграл.");
}