Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #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.
Ответить с цитированием
  #2 (permalink)  
Старый 17.06.2021, 06:46
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,109

1Euronymous,
Пожалуйста, отформатируйте свой код!

Для этого его можно заключить в специальные теги: js/css/html и т.п., например:
[html run]
... минимальный код страницы с вашей проблемой
[/html]

О том, как вставить в сообщение исполняемый javascript и html-код, а также о дополнительных возможностях форматирования - читайте http://javascript.ru/formatting.
Ответить с цитированием
  #3 (permalink)  
Старый 17.06.2021, 08:58
Аватар для voraa
Профессор
Отправить личное сообщение для voraa Посмотреть профиль Найти все сообщения от voraa
 
Регистрация: 03.02.2020
Сообщений: 2,745

1Euronymous,
Та часть, которая закоментирована, не должна быть в цикле.
В цикле только проверять нашли ли букву.
И потом, если нет ни одного совпадения (а это можно выяснить только пройдя весь цикл) уже выполнять эту часть.
Ответить с цитированием
  #4 (permalink)  
Старый 17.06.2021, 22:33
Новичок на форуме
Отправить личное сообщение для 1Euronymous Посмотреть профиль Найти все сообщения от 1Euronymous
 
Регистрация: 16.06.2021
Сообщений: 2

Спасибо. Исправил!
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
скрыть из исходного кода часть javascript кода. javasc Javascript под браузер 10 12.03.2014 09:32
$.ajax работает без success но при этом часть кода перезагружается!? saturn Элементы интерфейса 0 16.10.2011 10:09
Как убрать одну часть кода и добавить другую? hurricane Элементы интерфейса 2 30.12.2010 18:09
Подскажите как переписать часть кода dast Firefox/Mozilla 2 01.06.2010 19:19
Как с помощью JS "на-лету" менять часть HTML кода greendoc Общие вопросы Javascript 2 18.03.2008 20:43