Всем привет! Все еще пишу простой тренажер для печати на английской раскладке.
Сейчас столкнулась с проблемой того, что если пользователь ввел неверный ответ, то игра "стопорится" и далее не идет. То бишь просто не реагирует на дальнейшие действия. Как это обойти? Нужно чтобы игра "ждала" когда пользователь введет верный ответ, либо как вариант пропускала букву и ждала ввода далее.
На ум совсем ничего не приходит, разве что отдельные функции какие-то создавать, и при ошибке ее вызывать, чтобы продолжить код, но даже в голове звучит как костыль... не знаю, в общем.
Ссылка на 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;
};
});
};