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("Введите число: ", ""));
}