Проверка регистра
У меня есть js код с игрой "виселица", она работает, но я не могу понять, как мне сделать так, чтобы в независимости от того, в каком регистре игрок ввёл букву, программа её проверяла, и если она подходит, то ставила её. Вроде есть .toUpperCase, но как мне его применить тут, я уже не соображу...
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Game</title>
<style>
</style>
</head>
<body>
<script>
var words = ["клавиатура", "мышь", "экран", "ноутбук", "каникулы", "сайт", "кот", "дом", "лес", "еда"]; // Список отгадываемых слов
var word = words[Math.floor(Math.random() * words.length)]; // Рандомный выбор слова
var answer = [];
for (var x = 0; x < word.length; x++) { // проверяем, все ли буквы отгадал игрок
answer[x] = "_";
}
var left = word.length;
var tries = 5; // Количество попыток
while (left > 0 && tries > 0) { // Цикл, который будет выполнятся до тех пор, пока не слово не будет отгаданно, или не закончатся попытки
console.log(word); // Указание рандомно выбранного слова в консоле (если отгадать не получается, а проигрывать не хочется)
alert("Букв в слове : " + answer.join(" ")); // Вывод сообщения, о количестве букв в консоле
var choice = prompt("Введите 1 букву. Убедитесь, что используете русскую раскладку ! У вас осталось " + tries + " попыток"); // Окно со строкой ввода.
if (choice === null) { // Если игрок нажмет отмену,
break; // то с помощью break мы выйдем из цикла.
} else if (choice.length !== 1) { // Проверяем, чтобы игрок ввёл только отдну букву
alert("Это так не работает"); // Сообщение, которое появится, если игрок введёт больше одной буквы.
} else {
var check = false; // Чек тут для того, чтобы потом можно было отнять попытку, если игрок ошибся
for (var q = 0; q < word.length; q++) { // цикл, проверяем, все ли буквы отгадал игрок
if (word[q] === choice && answer[q] === "_") {
answer[q] = choice;
left--;
check = true;
}
}
if (!check) tries--; // Отнимаем попытку при указании неверной буквы
}
}
if (left === 0) { // Если не осталось букв, которые нужно отгадать, и сотались попытки,
alert("Победа ! Отгаданное слово " + "'" + word + "'"); // то выводим это сообщение.
} else if (tries === 0){ // Если число оставшихся попыток равно 0,
alert("Проигрыш : закончились попытки."); // то выводим это сообщение.
} else {
alert("Ну нормально же играли..."); // В случае, если игрок нажал на "отмена", то выводим это сообщение.
}
</script>
</body>
</html>
Ответы (1 шт):
Автор решения: Igor
→ Ссылка
var check = false;
choice = choice.toLowerCase();
for (var q = 0; q < word.length; q++) {