Золотое правило: Чем меньше кликов делает пользователь, тем лучше...
https://jsfiddle.net/OPTlMUS/cx82hmsu/ - рабочий пример.
var questions = [
["Отгдайте загадку №1 - Что это такое: синий, большой, с усами и полностью набит зайцами?", "троллейбус"],
["Отгдайте загадку №2 - Кто приходит, кто уходит, Все ее за ручку водят.", "дверь", "дверца"],
["Отгдайте загадку №3 - Если б не было его, не сказал бы ничего.", "язык", "language"],
["Отгдайте загадку №4 - Не лает, не кусает, а к будке привязана.", "цепь", "цепочка"],
];
document.getElementById('start').addEventListener('click', startTheGame);
function startTheGame() {
alert("Добро пожаловать в 'Игра в загадки'"); // приветствие
var score = 0;
var guess = "";
var result = "К сожалению, но вы не смогли разгадать ни одной загадки!";
var i = 0;
questionManager();
function questionManager(){
if( i == questions.length ){ showResults(); return; }
var userAnswer = prompt(guess + questions[i][0], "");
if( !userAnswer ){ /* Если нажали cancel */
showResults();
return;
}
if( questions[i].includes(userAnswer.toLowerCase(),1) ){
score++;
guess = "Поздравляю! Вы угадали! \n";
} else {
guess = "Вы не угадали :'(\n";
}
i++;
questionManager();
}
function showResults(){
if(guess){ result = "Игра окончена. Правильных ответов: " + score + " из " + i }
alert(result);
}
}
Вот такая задача с загадками, но не могу понять как сделать красиво с использованием функции.
Весь код по ссылке - https://pastebin.com/RwGgQUz6
как сделать функцией данную часть + необходимо i + 1 чтобы перейти на следующий вопрос?
alert(questions[i][0]);
var userAnswer = prompt("Введите ответ:");
if (questions[i].includes(userAnswer, 1))
{
alert("Поздравляю, Вы угадали!");
score++;
}
else alert("Вы не угадали :'( ");