Почему из переменной не вычитается значение?

var snakeHP = 3;
    //отслеживание клика на змею
    addEventListener("click", function(event, snakeHP){
        snakeHP - 1;
        if (snakeHP == 2) {
            snakeHP - 1;
        } else {
            if (snakeHP == 1) {
                snakeHP - 1;
            } else {
                if (snakeHP == 0) {
                    game.stage.removeChild(this.imgObj);
                }
            }
        }
    });


При нажатии на змею из переменной snakeHP должна вычитаться единица, но она остается тройкой. После трех нажатий змея должна исчезать.
Заранее спасибо.
  • Вопрос задан
  • 133 просмотра
Пригласить эксперта
Ответы на вопрос 4
@springimport
Откройте для себя https://learn.javascript.ru/switch для начала. А потом напишите console.log(shakeHP) в начале функции.
Ответ написан
Комментировать
EreminD
@EreminD
Кое-что умею
вместо
snakeHP - 1;
надо
snakeHP = snakeHP - 1;
Ответ написан
Комментировать
devellopah
@devellopah
возможно ты хотел что-то такое

var snake = document.querySelector('#snake');
    var snakeHP = 3;
    
    snake.addEventListener('click', onSnakeClick);
    
    function onSnakeClick(ev) { // ev - event object
    	snakeHP = snakeHP - 1;
    	
    	if(!snakeHP) {
    		// что-то делаешь 
    		
    		return;
    	}
    	
    	snakeHP--;
    	
    }
Ответ написан
Комментировать
lepard
@lepard
function selfDevelopment() { selfDevelopment() }
Вам уже сказали, что у вас неправильная запись snakeHP - 1;
Я бы вам советовал писать не
snakeHP = snakeHP - 1;
А использовать краткую запись
snakeHP -= 1;
Ответ написан
Ваш ответ на вопрос

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

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