Game v.2
With while
by LuckyCat
JavaScript
var min = 1, max = 50;
//var rand = min - 0.5 + Math.random()*(max-min+1)
//rand = Math.round(rand);
//var robotNumber = Math.floor( Math.random() * (3+1) );
var robotNumber = min - 0.5 + Math.random()*(max-min+1);
var robotNumber = Math.round(robotNumber);
alert("Робот загадал: " + robotNumber);
var myNumber = 0;
var counter = 0; // счетчик попыток
var diffStart = 0;
var diff = 0;
while (true) {
// начало игры, первый проход
if (counter === 0) {
myNumber = parseInt(prompt("Введите число: ", ""));
if (myNumber === robotNumber) {
alert("You win!");
break;
}
else {
// определяем, близко ли мы от загаданного числа
diffStart = Math.abs(myNumber - robotNumber);
}
}
// Следующие шаги
diff = Math.abs(myNumber - robotNumber);
//alert("diffStart= " + diffStart + "; diff= " + diff);
if (diffStart >= diff) {
if (myNumber !== robotNumber) {
alert("Теплее");
}
}
else {
if (diffStart < diff) {
alert("Холоднее");
}
}
diffStart = diff;
//---------------------
// Finish. End game
if (counter === 4) {
alert("Все " + counter + " попыток были неверны. Игра закончена");
break;
}
if (myNumber === robotNumber) {
alert("угадал, хитрец, за " + counter + " попыток");
break;
}
if (isNaN(myNumber)){
alert('Вы вышли из игры');
break;
}
// Если руки дрожат:
// * проверка отрабатывает неправильно *
/*
if(!isFinite(myNumber) || myNumber === '' || myNumber === null) {
myNumber = parseInt(prompt("Вы ввели не число! Повторите попытку: ", ""))
//return myNumber;
}
if(isNaN(myNumber) || myNumber === 0){
alert('Вы вышли из игры');
break;
}*/
counter++;
myNumber = parseInt(prompt("Введите число: ", ""));
}