quizEngine/js/game.js

48 lines
1.4 KiB
JavaScript
Raw Normal View History

import { shuffle } from './engine.js';
2021-07-06 05:27:07 +03:00
2021-07-08 01:38:10 +03:00
/**
* Проверяет правильность ответа на вопрос и устанавливает статус ответа в верно/неверно
* @param {Object} quest объект вопроса с вариантами ответа и правильным вариантом
* @param {String} answer
*/
export function checkAnswer(quest, answer) {
2021-07-06 20:36:01 +03:00
if (Array.isArray(quest.rightAnswer)) {
let lowerCaseArray = [];
quest.rightAnswer.forEach(item => lowerCaseArray.push(item.toLowerCase()))
if (lowerCaseArray.includes(answer.toLowerCase())) {
quest.status = true;
}
else {
quest.status = false;
}
}
else {
if (quest.rightAnswer.toLowerCase() == answer.toLowerCase()) {
quest.status = true;
}
else
quest.status = false;
2021-07-04 23:24:27 +03:00
}
2021-07-04 22:12:04 +03:00
}
2021-07-04 23:07:38 +03:00
2021-07-08 01:38:10 +03:00
/**
* При выполнении перемешивает вопросы и варианты ответов и запускает игру сначала
* @param {Object} game объект игрового процесса
* @param {Object} quests объект с вопросами
*/
2021-07-06 06:10:22 +03:00
export function restartGame(game, quests) {
// shuffle quests and answers order
2021-07-06 06:10:22 +03:00
shuffle(quests);
quests.forEach(quest => {
shuffle(quest.answer);
});
2021-07-06 06:10:22 +03:00
quests.forEach(element => element.status = null);
// set new game vars
2021-07-06 06:10:22 +03:00
game.finish = false;
game.currentQuest = 0;
2021-07-07 01:06:16 +03:00
game.showAlpha = 1;
2021-07-06 06:10:22 +03:00
}