Вопрос задан 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);
0 0
Перейти к ответам

Ответы на вопрос

Внимание! Ответы на вопросы дают живые люди. Они могут содержать ошибочную информацию, заблуждения, а также ответы могут быть сгенерированы нейросетями. Будьте внимательны. Если вы уверены, что ответ неверный, нажмите кнопку "Пожаловаться" под ответом.
Отвечает Аспедников Макс.

Ответ:

  • 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);

Пример работы:






0 0
Отвечает нейросеть ChatGpt. Будьте внимательны, ответы нейросети могут содержать ошибочные или выдуманные данные.

Проблема в вашем коде связана с некорректным использованием символа &lt;, который представляет собой HTML-код для символа < (меньше). В JavaScript коде вы должны использовать просто <, чтобы сравнивать значения в циклах. Также у вас есть небольшая ошибка в условии цикла, которая приводит к неправильной работе. Вот исправленный код:

javascript
var 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);

В этом коде я исправил ошибку с символом <, а также переписал условие цикла, чтобы оно корректно работало сравнением индексов. Теперь код должен правильно выполняться и вам не должно быть видно никаких ошибок.

0 0

Похожие вопросы

Топ вопросов за вчера в категории Информатика

Последние заданные вопросы в категории Информатика

Задать вопрос