2015-05-29 4 views
0

Я пытаюсь сделать так, чтобы, когда pacman сталкивается с призраком, он теряет жизнь. И тогда, когда в соответствии с количеством жизней у него появляется конкретное сообщение, однако переменная, похоже, не учитывает, что я меняю ее.Изменение переменной в javascript? Не работает

Все предложения?

var life=3; 
// Lorsque l'on rencontre un fantome. 
function manchePerdue() 
{ 
    x_Pacman = 13; 
    y_Pacman = 10; 

    life = life-1; 

    if (life=2) { 
    window.alert("2 Lives Left"); 
    } 
    else if (life=1) { 
    window.alert("1 Life Left"); 
    } 
    else { 
    window.alert("Game Over"); 
    gameover(); 
    } 
} 
+1

'=' is присваивание '==' равенство, проверьте ваши операторы if. – hoss

ответ

3

Вы должны использовать оператор равенства == в вашей, если это, а не оператор присваивания =.

if (life == 2) { 
    alert("2 Lives Left"); 
else if (life == 1) { 
    alert("1 Life Left"); 
} else { 
    alert("Game Over"); 
    gameover(); 
} 

Использование = означает, что вы переназначение значения в каждом для проверки. Например:

var lives = 3; 
if (lives = 1) { 
    alert("1 life"); // Will show up 
} 
alert(lives); // Will show "1"! 

Javascript также идею строгого равенства с помощью оператора ===. В случае строгого равенства типы также должны совпадать.

1 == 1; // true 
1 == "1"; // true 
1 === "1"; // false 

Для чего это стоит, вы также заметите, что вам не нужно писать window.alert, просто писать alert будет достаточно, потому что window является глобальный масштаб.