Показать сообщение отдельно
  #1 (permalink)  
Старый 16.06.2021, 22:26
Новичок на форуме
Отправить личное сообщение для 1Euronymous Посмотреть профиль Найти все сообщения от 1Euronymous
 
Регистрация: 16.06.2021
Сообщений: 2

Часть кода дальше не дает ему работать
Всем привет.
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, то возвращает опять пустую строку. При этом попытки уменьшаются.
Если удалить часть с комментом, то все делает правильно.

Объяснил как мог. Только вникаю в суть.

Всем спасибо!

Где ошибка?! Спасибо!

Последний раз редактировалось 1Euronymous, 17.06.2021 в 22:33.
Ответить с цитированием