feat : Score management 🔥
continuous-integration/drone/push Build is passing Details

pull/35/head
Jade VAN BRABANDT 1 year ago
parent 6ac8e515ac
commit eba391d3d8

@ -88,6 +88,8 @@ class ControllerUser
function verifySingleplayer()
{
$_SESSION["Score"]=0;
$_SESSION["PrevTime"]= new DateTime('now');
$difficulty = $_POST['difficulty'];
$chapter = $_POST['chapter'];
$difficultyIsOk = TRUE;
@ -121,25 +123,29 @@ class ControllerUser
function verifQuestion()
//Only Handdle solo game
{
$_SESSION["CurrTime"]= new DateTime('now');
$answerNumber = $_POST["answer"];
$numQuestion = $_POST["numQuestion"] + 1;
if ($answerNumber != 1 or $answerNumber != 2 or $answerNumber != 3 or $answerNumber != 4) {
if (!($answerNumber == 0 or $answerNumber == 1 or $answerNumber == 2 or $answerNumber == 3)) {
$_SESSION["error"] = "Valeur de choix de réponse invalide";
echo $this->twig->render($this->vues["singleplayer"], [
'questions' => $_SESSION["Questions"],
'numQuestion' => $numQuestion,
'numQuestion' => $numQuestion-1,
]);
} else {
if ($numQuestion > 9) {
echo $this->twig->render($this->vues["home"]);
//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
var_dump($_SESSION["Score"]);
/// echo $this->twig->render($this->vues["ViewScore"], [
/// 'score' => $_SESSION["Score"],
/// ];
} else {
var_dump($_SESSION["Questions"][$numQuestion - 1]['idanswergood']);
var_dump($_SESSION["Questions"][$numQuestion - 1]['answers'][$answerNumber]['id']);
if ($_SESSION["Questions"][$numQuestion - 1]['idanswergood'] == $_SESSION["Questions"][$numQuestion - 1]['answers'][$answerNumber]['id']) {
// Player won
} else {
//Player lost
$time = $_SESSION["PrevTime"]->diff($_SESSION["CurrTime"]);
$_SESSION["Score"]= $_SESSION["Score"] + 80 + 40*((30-$time->s)/100*10/3);
}
$_SESSION["PrevTime"] = $_SESSION["CurrTime"];
echo $this->twig->render($this->vues["singleplayer"], [
'questions' => $_SESSION["Questions"],
'numQuestion' => $numQuestion,
@ -155,6 +161,7 @@ class ControllerUser
//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"], [
'questions' => $_SESSION["Questions"],
'numQuestion' => $numQuestion,

@ -3,3 +3,4 @@ function passerAction() {
document.getElementById("FormQuestion").action = "/passer";
document.getElementById("FormQuestion").submit();
}
export {passerAction};

@ -1,3 +1,4 @@
import { passerAction } from "./passer.js";
let tempsExport = 0;
const dureeQuiz = 30; // Durée du quiz en secondes
const aiguilleElement = document.getElementById("aiguille");
@ -25,6 +26,8 @@ const dureeQuiz = 30; // Durée du quiz en secondes
if (tempsEcoule < animationDuration) {
requestAnimationFrame(mettreAJourAiguille);
} else {
passerAction();
}
}
requestAnimationFrame(mettreAJourAiguille);

Loading…
Cancel
Save