From a428c1c4e9fc5cbce5a30475c88c485eb6dda9c3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?No=C3=A9=20Garnier?= Date: Fri, 13 Jan 2023 14:39:26 +0100 Subject: [PATCH] Test calcul du classement --- Controller/ResoudreGateway.php | 17 +++++++++++++++++ Model/UserModel.php | 14 +++++++++++--- View/src/pages/Multijoueur/Lobby.php | 2 +- 3 files changed, 29 insertions(+), 4 deletions(-) diff --git a/Controller/ResoudreGateway.php b/Controller/ResoudreGateway.php index beedb8a7..135509f3 100644 --- a/Controller/ResoudreGateway.php +++ b/Controller/ResoudreGateway.php @@ -305,6 +305,23 @@ class ResoudreGateway } return $results[0]['classement']; } + public function getClassement($enigmeId, $idPartie) : array{ + $query="SELECT classement FROM Resoudre + WHERE enigme=:enigme + AND partie=:partie + ORDER BY classement DESC LIMIT 1"; + $this->con->executeQuery($query, array( + "enigme" => array($enigmeId, SQLITE3_INTEGER), + "partie" => array($idPartie, SQLITE3_INTEGER))); + $results=$this->con->getResults(); + if (empty($results) || $results[0]['classement'] == null) { + return array(0); + } + foreach ($results as $row) { + $classement[] = $row['classement']; + }; + return $classement; + } public function getAllByPartieAndUtilisateur(string $mailUtilisateur, int $idPartie) : array{ $query = "SELECT * FROM Resoudre diff --git a/Model/UserModel.php b/Model/UserModel.php index 7b679d5f..fa458819 100644 --- a/Model/UserModel.php +++ b/Model/UserModel.php @@ -119,18 +119,26 @@ class UserModel $this->resoudre_gateway->enigmeEnded($mailUtilisateur,$enigmeId); } public function enigmeMultiEnded(string $mailUtilisateur, int $enigmeId){ + global $playerNumberPerGame; $idPartie = $_SESSION['idPartie']; $dateDebut = $this->partie_gateway->getDateDebut($idPartie); $now = new DateTime(); $interval = $now->diff($dateDebut); $tempDeResolution = $interval->days * 24 * 60 * 60 + $interval->h * 60 * 60 + $interval->i * 60 + $interval->s; - $result = $this->resoudre_gateway->getMaxClassement($enigmeId, $idPartie); - if ($result == 0){ + // $result = $this->resoudre_gateway->getMaxClassement($enigmeId, $idPartie); + $leClassement = $this->resoudre_gateway->getClassement($enigmeId, $idPartie); + if ($leClassement[0] == 0){ $classement = 1; } else{ - $classement = $result + 1; + $classement = 3; } + // if ($result == 0){ + // $classement = 1; + // } + // else{ + // $classement = $result + 1; + // } $this->resoudre_gateway->enigmeMultiEnded($mailUtilisateur,$enigmeId, $tempDeResolution, $classement); } diff --git a/View/src/pages/Multijoueur/Lobby.php b/View/src/pages/Multijoueur/Lobby.php index eaee9648..058e83e4 100644 --- a/View/src/pages/Multijoueur/Lobby.php +++ b/View/src/pages/Multijoueur/Lobby.php @@ -37,7 +37,7 @@

Bienvenue dans le mode ScriptRush ! Tu es ici dans le mode multijoeur de Scripted. - Dans ce mode tu vas pouvoir affronter d'autres jouer et tenter de gagner le plus de points possible. Pour cela tu vas devoir + Dans ce mode tu vas pouvoir affronter d'autres joueur et tenter de gagner le plus de points possible. Pour cela tu vas devoir résoudre le plus d'énigme de possible en un temps imparti. Si c'est ta première venue je te conseile de jeter un oeil au mode CodeQuest avant d'aller plus loin. Pour les plus témaire je vous laisse cliquer sur Lancer pour trouver des adversaire.