@atumbochka

Как остановить работу функции?

Вот код:
function getRandomNumber(size){
    return Math.floor(Math.random() * size);
}

function getDistance(event, target){
    var diffX = event.offsetX - target.x;
    var diffY = event.offsetY - target.y;
    return Math.sqrt((diffX * diffX) + (diffY * diffY));
}

function getDistanceHit(distance){
    if(distance < 10){
        return "Обожжешься!";
    }else if(distance < 20){
        return "Очень горячо!";
    }
    else if(distance < 40){
        return "Горячо!";
    }
    else if(distance < 80){
        return "Тепло!";
    }
    else if(distance < 160){
        return "Холодно!";
    }
    else if(distance < 320){
        return "Очень холодно!";
    }else{
        return "Замёрзнешь!";
    }
}

var width = 400;
var height = 400;
var clicks = 0;

var target = {
    x: getRandomNumber(width),
    y: getRandomNumber(height)
}

function mapClick(event){
    clicks++;
    var distance = getDistance(event, target);
    var distanceHit = getDistanceHit(distance);
    $("#distance").text(distanceHit);
    if(distance < 8){
        alert("Клад найден! Сделано кликов: "+clicks);
    }
}

$("#map").click(mapClick);


Нужно установить ограничение по кликам, и если пользователь дойдёт до данного ограничения, то игра заканчивается. Я попробовал создать следующий блок:
if(clicks === 10){
        return false;
    }

Но ничего не произошло, такая же история с break. Возможно я как-то неправильно использовал break и return, но ничего не получается, нужна помощь.
  • Вопрос задан
  • 87 просмотров
Решения вопроса 1
Aleksandr-JS-Developer
@Aleksandr-JS-Developer
Работает? Не трогай.
Непонятно, куда вы вставляли условие.

Вот так проще, кажется, некуда:
function mapClick(event){
    if( clicks > 10 ){
      alert( "Проиграл" );
    } else {
        clicks++;
        var distance = getDistance(event, target);
        var distanceHit = getDistanceHit(distance);
        $("#distance").text(distanceHit);
        if(distance < 8){
            alert("Клад найден! Сделано кликов: "+clicks);
        }
    }
}
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы