|
|
|
@ -17,7 +17,6 @@ class ControllerUser
|
|
|
|
|
global $vues, $twig;
|
|
|
|
|
session_start();
|
|
|
|
|
try {
|
|
|
|
|
|
|
|
|
|
$this->twig = $twig;
|
|
|
|
|
$this->vues = $vues;
|
|
|
|
|
|
|
|
|
@ -89,12 +88,11 @@ class ControllerUser
|
|
|
|
|
function verifySingleplayer()
|
|
|
|
|
{
|
|
|
|
|
$_SESSION["Score"] = 0;
|
|
|
|
|
$_SESSION["PrevTime"] = new DateTime('now');
|
|
|
|
|
$difficulty = $_POST['difficulty'];
|
|
|
|
|
$chapter = $_POST['chapter'];
|
|
|
|
|
|
|
|
|
|
$difficultyIsOk = TRUE;
|
|
|
|
|
$chapterIsOk = TRUE;
|
|
|
|
|
|
|
|
|
|
if (!($difficulty == 0 or $difficulty == 1 or $difficulty == 2)) {
|
|
|
|
|
$_SESSION["error"] = "Valeur de difficulté invalide";
|
|
|
|
|
$difficultyIsOk = FALSE;
|
|
|
|
@ -104,16 +102,19 @@ class ControllerUser
|
|
|
|
|
$_SESSION["error"] = "Valeur de chapitre invalide";
|
|
|
|
|
$chapterIsOk = FALSE;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
if ($difficultyIsOk and $chapterIsOk) {
|
|
|
|
|
$_SESSION["PrevTime"] = new DateTime('now');
|
|
|
|
|
$_SESSION["Questions"] = $this->mdQuestion->getQuestionsByChapterAndDifficulty($chapter, $difficulty);
|
|
|
|
|
foreach ($_SESSION["Questions"] as &$question) {
|
|
|
|
|
$answers = $this->mdAnswer->getAnswersByIDQuestions($question['id']);
|
|
|
|
|
$question['answers'] = $answers;
|
|
|
|
|
var_dump("i");
|
|
|
|
|
$_SESSION["Answers"] = array();
|
|
|
|
|
foreach ($_SESSION["Questions"] as $question) {
|
|
|
|
|
$answers = $this->mdAnswer->getAnswersByIDQuestions($question->getId());
|
|
|
|
|
$_SESSION["Answers"][] = $answers;
|
|
|
|
|
}
|
|
|
|
|
echo $this->twig->render($this->vues["singleplayer"], [
|
|
|
|
|
'questions' => $_SESSION["Questions"],
|
|
|
|
|
'numQuestion' => 0,
|
|
|
|
|
'answerss' => $_SESSION["Answers"],
|
|
|
|
|
]);
|
|
|
|
|
} else {
|
|
|
|
|
$_SESSION["error"] = "Valeur de choix de thème invalide";
|
|
|
|
@ -132,12 +133,13 @@ class ControllerUser
|
|
|
|
|
echo $this->twig->render($this->vues["singleplayer"], [
|
|
|
|
|
'questions' => $_SESSION["Questions"],
|
|
|
|
|
'numQuestion' => $numQuestion,
|
|
|
|
|
'answerss' => $_SESSION["Answers"],
|
|
|
|
|
]);
|
|
|
|
|
|
|
|
|
|
} else {
|
|
|
|
|
$answerContent = $_SESSION["Questions"][$numQuestion]['answers'][$answerNumber]['content'];
|
|
|
|
|
$_SESSION["Questions"][$numQuestion]['playerAnswersContent'] = $answerContent;
|
|
|
|
|
if ($_SESSION["Questions"][$numQuestion]['idanswergood'] == $_SESSION["Questions"][$numQuestion]['answers'][$answerNumber]['id']) {
|
|
|
|
|
$answerContent = $_SESSION["Answers"][$numQuestion][$answerNumber]->getContent();
|
|
|
|
|
$_SESSION["playerAnswersContent"][$numQuestion] = $answerContent;
|
|
|
|
|
if ($_SESSION["Questions"][$numQuestion]->getIdAnswerGood() == $_SESSION["Answers"][$numQuestion][$answerNumber]->getId()) {
|
|
|
|
|
$time = $_SESSION["PrevTime"]->diff($_SESSION["CurrTime"]);
|
|
|
|
|
$_SESSION["Score"] = $_SESSION["Score"] + 80 + 40 * ((30 - $time->s) / 100 * 10 / 3);
|
|
|
|
|
}
|
|
|
|
@ -147,15 +149,33 @@ class ControllerUser
|
|
|
|
|
echo $this->twig->render($this->vues["singleplayer"], [
|
|
|
|
|
'questions' => $_SESSION["Questions"],
|
|
|
|
|
'numQuestion' => $numQuestion + 1,
|
|
|
|
|
'answerss' => $_SESSION["Answers"],
|
|
|
|
|
]);
|
|
|
|
|
} else {
|
|
|
|
|
$Final = array();
|
|
|
|
|
$Final[]["Question"] = array();
|
|
|
|
|
$Final[]["goodAnswer"] = array();
|
|
|
|
|
$Final[]["PlayerAnswer"] = array();
|
|
|
|
|
$c=0;
|
|
|
|
|
foreach ($_SESSION["Questions"] as &$question) {
|
|
|
|
|
$answer = $this->mdAnswer->getAnswerByID($question['idanswergood']);
|
|
|
|
|
$question['goodAnswersContent'] = $answer['content'];
|
|
|
|
|
$answer = $this->mdAnswer->getAnswerByID($question->getIdAnswerGood());
|
|
|
|
|
$Final[$c]["goodAnswer"] = $answer->getContent();
|
|
|
|
|
$c=$c+1;
|
|
|
|
|
}
|
|
|
|
|
$c=0;
|
|
|
|
|
foreach ($_SESSION["Questions"] as $question) {
|
|
|
|
|
$Final[$c]["Question"] = $question->getContent();
|
|
|
|
|
$c=$c+1;
|
|
|
|
|
}
|
|
|
|
|
$c=0;
|
|
|
|
|
foreach ($_SESSION["playerAnswersContent"] as $answer)
|
|
|
|
|
{
|
|
|
|
|
$Final[$c]["PlayerAnswer"] = $answer;
|
|
|
|
|
$c=$c+1;
|
|
|
|
|
}
|
|
|
|
|
echo $this->twig->render($this->vues["viewScore"], [
|
|
|
|
|
'score' => $_SESSION["Score"],
|
|
|
|
|
'questions' => $_SESSION["Questions"],
|
|
|
|
|
'Final' => $Final,
|
|
|
|
|
]);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
@ -168,15 +188,18 @@ class ControllerUser
|
|
|
|
|
echo $this->twig->render($this->vues["singleplayer"], [
|
|
|
|
|
'questions' => $_SESSION["Questions"],
|
|
|
|
|
'numQuestion' => $numQuestion + 1,
|
|
|
|
|
'answerss' => $_SESSION["Answers"],
|
|
|
|
|
]);
|
|
|
|
|
} else {
|
|
|
|
|
$goodAnswer = array();
|
|
|
|
|
foreach ($_SESSION["Questions"] as &$question) {
|
|
|
|
|
$answer = $this->mdAnswer->getAnswerByID($question['idAnswerGood']);
|
|
|
|
|
$question['GoodAnswersContent'] = $answer['content'];
|
|
|
|
|
$answer = $this->mdAnswer->getAnswerByID($question['idanswergood']);
|
|
|
|
|
$goodAnswer[] = $answer->getContent();
|
|
|
|
|
}
|
|
|
|
|
echo $this->twig->render($this->vues["viewScore"], [
|
|
|
|
|
'score' => $_SESSION["Score"],
|
|
|
|
|
'questions' => $_SESSION["Questions"],
|
|
|
|
|
'answerss' => $_SESSION["Answers"],
|
|
|
|
|
]);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|