@so_easyy

Как при ошибке ввода продолжать игру?

Всем привет! Все еще пишу простой тренажер для печати на английской раскладке.
Сейчас столкнулась с проблемой того, что если пользователь ввел неверный ответ, то игра "стопорится" и далее не идет. То бишь просто не реагирует на дальнейшие действия. Как это обойти? Нужно чтобы игра "ждала" когда пользователь введет верный ответ, либо как вариант пропускала букву и ждала ввода далее.
На ум совсем ничего не приходит, разве что отдельные функции какие-то создавать, и при ошибке ее вызывать, чтобы продолжить код, но даже в голове звучит как костыль... не знаю, в общем.
Ссылка на CodePin где весь код

buttonStart.addEventListener('click', (ev) => {
      keyListener();
      buttonStart.classList.add('test-text')
});

console.log(arrLetters); 

let wrongAnswer = 0;
let correctAnswer = 0;

function keyListener() {

      for (let i = 0; i < arrLetters.length; i++) {
            let letterDiv = document.createElement('p')
            letterDiv.innerText = arrLetters[i];
            lettersWrapper.appendChild(letterDiv);
      };
      

      document.addEventListener('keydown', (e) => {   

      let letterBox = Array.from(lettersWrapper.children);
      const key = e.key.toLowerCase();
      const firstLatter = arrLetters.shift();
            if (key === firstLatter) {
                  correctAnswer++;
                  let digit = letterBox.find((item) => {
                        return item.innerText === firstLatter
                  });
                  digit.classList.add('test-text');
                  letterBox.shift();
            } else if (key !== firstLatter) {
                  wrongAnswer++;
                  progressBar.value = wrongAnswer;
            };
      });
};
  • Вопрос задан
  • 65 просмотров
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

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