Вопрос задан 05.07.2023 в 06:28.
Предмет Информатика.
Спрашивает Горбунова Ксения.
ИГРА ВИСЕЛИЦА! ОШИБКА В javascript коде, не могу определить. var words = [ "программа", "макака",
"прекрасный", "оладушек", ]; var word = words [Math.floor(Math.random() * words.length)]; var answerArray = []; for (var i = 0; i 0) { alert(answerArray.join(" ")); var guess = prompt("Угадайте букву или нажмите Отмена для выхода из игры."); 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(answerArray.join(" ")); alert("Отлично! Было загадано слово " + word);Ответы на вопрос
        Отвечает Аспедников Макс.
                
    Ответ:
- var words = ["программа", "макака", "прекрасный", "оладушек"];
 - var word = words[Math.floor(Math.random() * words.length)];
 - var answerArray = Array(word.length).fill(" ");
 - var remainingletters = word.length;
 - while (answerArray.includes(" "))
 - {
 - var guess = prompt("Угадайте букву или нажмите Отмена для выхода из игры.");
 - if (guess === null) break;
 - else if (guess.length !== 1) alert("Пожалуйста, введите только одну букву.");
 - else
 - {
 - var isGuessed = false;
 - for (var j = 0; j < word.length; j++)
 - if (word[j] == guess & answerArray[j]===" ")
 - {
 - answerArray[j] = guess;
 - isGuessed = true;
 - break;
 - }
 - if (isGuessed) alert("Ура! Вы угадали букву!");
 - else alert("Увы, такой буквы в моём слове нет :(");
 - }
 - }
 - alert("Отлично! Было загадано слово " + word);
 
Пример работы:





            Отвечает нейросеть ChatGpt. Будьте внимательны, ответы нейросети могут содержать ошибочные или выдуманные данные.
                
    Проблема в вашем коде связана с некорректным использованием символа <, который представляет собой HTML-код для символа < (меньше). В JavaScript коде вы должны использовать просто <, чтобы сравнивать значения в циклах. Также у вас есть небольшая ошибка в условии цикла, которая приводит к неправильной работе. Вот исправленный код:
javascriptvar words = [ "программа", "макака", "прекрасный", "оладушек" ];
var word = words[Math.floor(Math.random() * words.length)];
var answerArray = [];
for (var i = 0; i < word.length; i++) {
    answerArray[i] = "_";
}
var remainingLetters = word.length;
while (remainingLetters > 0) {
    alert(answerArray.join(" "));
    var guess = prompt("Угадайте букву или нажмите Отмена для выхода из игры.");
    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("Отлично! Было загадано слово: " + word);
В этом коде я исправил ошибку с символом <, а также переписал условие цикла, чтобы оно корректно работало сравнением индексов. Теперь код должен правильно выполняться и вам не должно быть видно никаких ошибок.
Похожие вопросы
Топ вопросов за вчера в категории Информатика
Последние заданные вопросы в категории Информатика
Предметы
	- 
			
Математика
 - 
			
Литература
 - 
			
Алгебра
 - 
			
Русский язык
 - 
			
Геометрия
 - 
			
Английский язык
 - 
			
Химия
 - 
			
Физика
 - 
			
Биология
 - 
			
Другие предметы
 - 
			
История
 - 
			
Обществознание
 - 
			
Окружающий мир
 - 
			
География
 - 
			
Українська мова
 - 
			
Информатика
 - 
			
Українська література
 - 
			
Қазақ тiлi
 - 
			
Экономика
 - 
			
Музыка
 - 
			
Право
 - 
			
Беларуская мова
 - 
			
Французский язык
 - 
			
Немецкий язык
 - 
			
МХК
 - 
			
ОБЖ
 - 
			
Психология
 - 
			
Физкультура и спорт
 - 
			
Астрономия
 - 
			
Кыргыз тили
 - 
			
Оʻzbek tili
 
			
			
			
			
			
			
			
			
			
			
			
			
			
			
			
			
			
			
			
			
			
			
			
			