Изучаю javascript и вот задачка в учебнике, что нужно ограничить количество неверных ходов, в моем случае до трех. То есть, три раза ввел не ту букву, конец игры, либо неправильно ввел букву - появляется alert. Мой код не работает, помогите разобраться.
var randomWords = ["car", "wallet", "eternity"];
var choiceWords = randomWords[Math.floor(Math.random() * randomWords.length)];
var answerArray = [];
for (var i = 0; i < choiceWords.length; i++){
answerArray[i] = "_";
}
var remainingLetters = choiceWords.length;
var attempt = 3;
while (remainingLetters > 0 && attempt > 0) {
alert(answerArray.join(" "));
var guessWord = prompt("Enter the letter").toLowerCase();
if (guessWord === null){
break;
} else if (guessWord.length !== 1){
alert("Please enter only one letter");
} else {
for (var j = 0; j < choiceWords.length; j++){
if (choiceWords[j] === guessWord){
answerArray[j] = guessWord;
remainingLetters--;
} else if (choiceWords[j] !== guessWord){
alert("wrong!!")
attempt--;
}
}
}
}
Еще прикол в том что:
else if (choiceWords[j] !== guessWord){
alert("wrong!!")
attempt--;
Срабатывает до тех пор пока у переменной
attempt
не будет ноль. Хотя по идее, после того как ввел неправильно букву, должно перекинуть в начало цикла и показать всплывающее окно, что и происходит, если убрать условие на проверку неверного ввода, но не происходит, если эта проверка есть.