feat : oui je regardes après
continuous-integration/drone/push Build is passing Details

pull/35/head
Jade VAN BRABANDT 1 year ago
parent eba391d3d8
commit 08543cbea3

@ -88,8 +88,8 @@ class ControllerUser
function verifySingleplayer() function verifySingleplayer()
{ {
$_SESSION["Score"]=0; $_SESSION["Score"] = 0;
$_SESSION["PrevTime"]= new DateTime('now'); $_SESSION["PrevTime"] = new DateTime('now');
$difficulty = $_POST['difficulty']; $difficulty = $_POST['difficulty'];
$chapter = $_POST['chapter']; $chapter = $_POST['chapter'];
$difficultyIsOk = TRUE; $difficultyIsOk = TRUE;
@ -123,48 +123,60 @@ class ControllerUser
function verifQuestion() function verifQuestion()
//Only Handdle solo game //Only Handdle solo game
{ {
$_SESSION["CurrTime"]= new DateTime('now'); $_SESSION["CurrTime"] = new DateTime('now');
$answerNumber = $_POST["answer"]; $answerNumber = $_POST["answer"];
$numQuestion = $_POST["numQuestion"] + 1; $numQuestion = $_POST["numQuestion"];
if (!($answerNumber == 0 or $answerNumber == 1 or $answerNumber == 2 or $answerNumber == 3)) { if (!($answerNumber == 0 or $answerNumber == 1 or $answerNumber == 2 or $answerNumber == 3)) {
$_SESSION["error"] = "Valeur de choix de réponse invalide"; $_SESSION["error"] = "Valeur de choix de réponse invalide";
echo $this->twig->render($this->vues["singleplayer"], [ echo $this->twig->render($this->vues["singleplayer"], [
'questions' => $_SESSION["Questions"], 'questions' => $_SESSION["Questions"],
'numQuestion' => $numQuestion-1, 'numQuestion' => $numQuestion,
]); ]);
} else { } else {
if ($numQuestion > 9) { $answerContent = $_SESSION["Questions"][$numQuestion]['answers'][$answerNumber]['content'];
var_dump($_SESSION["Score"]); $_SESSION["Questions"][$numQuestion]['playerAnswersContent'] = $answerContent;
/// echo $this->twig->render($this->vues["ViewScore"], [ if ($_SESSION["Questions"][$numQuestion]['idanswergood'] == $_SESSION["Questions"][$numQuestion]['answers'][$answerNumber]['id']) {
/// 'score' => $_SESSION["Score"], $time = $_SESSION["PrevTime"]->diff($_SESSION["CurrTime"]);
/// ]; $_SESSION["Score"] = $_SESSION["Score"] + 80 + 40 * ((30 - $time->s) / 100 * 10 / 3);
} else { }
var_dump($_SESSION["Questions"][$numQuestion - 1]['idanswergood']);
var_dump($_SESSION["Questions"][$numQuestion - 1]['answers'][$answerNumber]['id']); if ($numQuestion <= 2) {
if ($_SESSION["Questions"][$numQuestion - 1]['idanswergood'] == $_SESSION["Questions"][$numQuestion - 1]['answers'][$answerNumber]['id']) {
$time = $_SESSION["PrevTime"]->diff($_SESSION["CurrTime"]);
$_SESSION["Score"]= $_SESSION["Score"] + 80 + 40*((30-$time->s)/100*10/3);
}
$_SESSION["PrevTime"] = $_SESSION["CurrTime"]; $_SESSION["PrevTime"] = $_SESSION["CurrTime"];
echo $this->twig->render($this->vues["singleplayer"], [ echo $this->twig->render($this->vues["singleplayer"], [
'questions' => $_SESSION["Questions"], 'questions' => $_SESSION["Questions"],
'numQuestion' => $numQuestion, 'numQuestion' => $numQuestion+1,
]); ]);
} else {
foreach ($_SESSION["Questions"] as &$question) {
$answer = $this->mdAnswer->getAnswerByID($question['idanswergood']);
$question['goodAnswersContent'] = $answer['content'];
}
var_dump($_SESSION["Questions"]);
// echo $this->twig->render($this->vues["viewScore"], [
// 'score' => $_SESSION["Score"],
// 'questions' => $_SESSION["Questions"],
// ]);
} }
} }
} }
function passer() function passer()
{ {
$numQuestion = $_POST["numQuestion"] + 1; $numQuestion = $_POST["numQuestion"];
if ($numQuestion > 9) { if ($numQuestion <= 9) {
echo $this->twig->render($this->vues["home"]); $_SESSION["PrevTime"] = $_SESSION["CurrTime"];
//EN GROS IL FAUT AFFICHER LE SCORE (C'est copilot qui a fait ça, la fin du commentaire j'veux dire)
//Si faut paser un param score de page en page dittes le moi je le ferais dw
} else {
$_SESSION["PrevTime"] = $_SESSION["CurrTime"];
echo $this->twig->render($this->vues["singleplayer"], [ echo $this->twig->render($this->vues["singleplayer"], [
'questions' => $_SESSION["Questions"], 'questions' => $_SESSION["Questions"],
'numQuestion' => $numQuestion, 'numQuestion' => $numQuestion + 1,
]);
} else {
foreach ($_SESSION["Questions"] as &$question) {
$answer = $this->mdAnswer->getAnswerByID($question['idAnswerGood']);
$question['GoodAnswersContent'] = $answer['content'];
}
echo $this->twig->render($this->vues["ViewScore"], [
'score' => $_SESSION["Score"],
'questions' => $_SESSION["Questions"],
]); ]);
} }
} }

@ -12,7 +12,7 @@ class GatewayAnswer
public function addAnswer($answer) public function addAnswer($answer)
{ {
$query = "insert into answers(content,idquestion) values (:content,:idquestion);"; $query = "INSERT into answers(content,idquestion) values (:content,:idquestion);";
$this->con->executeQuery( $this->con->executeQuery(
$query, $query,
array( array(
@ -24,6 +24,19 @@ class GatewayAnswer
return $answerId; return $answerId;
} }
public function getAnswerByID($id)
{
$query = "SELECT * FROM answers WHERE id = :id;";
$this->con->executeQuery(
$query,
array(
':id' => array($id, PDO::PARAM_INT)
)
);
$results = $this->con->getResults();
return $results[0];
}
public function getAnswersByIDQuestions($idQuestions) public function getAnswersByIDQuestions($idQuestions)
{ {
$query = "SELECT answers.content,answers.id FROM answers, questions WHERE questions.id = :idquestions AND answers.idquestion = questions.id ;"; $query = "SELECT answers.content,answers.id FROM answers, questions WHERE questions.id = :idquestions AND answers.idquestion = questions.id ;";

@ -15,9 +15,15 @@ class ModelAnswer
return $answersId; return $answersId;
} }
function getAnswersByIDQuestions($id) function getAnswerByID($id)
{ {
$answers = $this->gwAnswer->getAnswersByIDQuestions($id); $answer = $this->gwAnswer->getAnswerByID($id);
return $answer;
}
function getAnswersByIDQuestions($idQuestion)
{
$answers = $this->gwAnswer->getAnswersByIDQuestions($idQuestion);
return $answers; return $answers;
} }

@ -36,7 +36,7 @@
<div class="col pt-5"> <div class="col pt-5">
<input type="radio" class="btn-check" name="answer" value="0" id="answer1" autocomplete="off" required> <input type="radio" class="btn-check" name="answer" value="0" id="answer1" autocomplete="off" required>
<label class="btn fs-2 container text-white" for="answer1" style="background-color:blue;"> <label class="btn fs-2 container text-white" for="answer1" style="background-color:blue;">
{{ questions[numQuestion].answers[0].content }} {{ questions[numQuestion]['answers'][0]['content'] }}
</label> </label>
</div> </div>
<div class="col pt-5"> <div class="col pt-5">

@ -0,0 +1,31 @@
<!DOCTYPE html>
<html lang="fr">
<html>
<head>
<meta charset=utf-8>
<title>Math'Educ</title>
<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.2/dist/css/bootstrap.min.css" rel="stylesheet" integrity="sha384-T3c6CoIi6uLrA9TneNEoa7RxnatzjcDSCmG1MXxSR1GAsXEV/Dwwykc2MPK8M2HN" crossorigin="anonymous">
<link rel="stylesheet" href="css/global.css">
</head>
<body id="bodyStyle">
<p>{{ score }}</p>
<ul>
{{ % for question in questions % }}
<li>
<p>
Question : {{ question['content'] }}
</p>
<p>
Bonne réponse : {{ question['goodAnswersContent'] }}
</p>
<p>
Votre réponse : {{ question['playerAnswersContent'] }}
</p>
</li>
{% endfor %}
</ul>
</body>
</html>
Loading…
Cancel
Save