Всем привет.
var name = prompt("Как вас зовут?");
alert("Привет, " + name + ". Давай теперь с играем в игру!");
// Выбираем случайное слово из массива
var words = ["программа", "процессор", "прекрасный", "робот"];
var word = words[Math.floor(Math.random() * words.length)];
// Попытки
var remainingAttempt = 10;
// Создаем массив ответов и заполняем его
var answerArray = [];
for (var i = 0; i < word.length; i++) {
answerArray[i] = " _ ";
}
// Неугаданные буквы
var remainingLetters = word.length;
// Основной цикл программы
while (remainingLetters > 0 && remainingAttempt > 0) {
alert("Текущее слово : " + answerArray.join(" "));
var guess = prompt("Угадайте букву или нажмите Отмена для выхода из игры.");
guess = guess.toLowerCase();
if (guess === null) {
break;
} else if (guess.length !== 1) {
alert("Пожалуйста, введите только одну букву.");
} else {
for (var j = 0; j < word.length; j++) {
if (word[j] === guess) {
answerArray[j] = guess;
remainingLetters--;
alert("Вы угадали букву!");
} /* else {
remainingAttempt--;
alert("Осталось попыток " + remainingAttempt);
break;
} */
}
}
}
alert('Результат : ' + answerArray.join(" "));
alert("Конец игры! Было загадано слово " + word);
В той части, где закомментирована. Проблема в том, что код срабатывает верно только на ПЕРВУЮ правильно написанную букву. Если же написать букву номер 2 или 5, то возвращает опять пустую строку. При этом попытки уменьшаются.
Если удалить часть с комментом, то все делает правильно.
Объяснил как мог. Только вникаю в суть.
Всем спасибо!
Где ошибка?! Спасибо!