Test calcul du classement

ServeurDeTest
Noé GARNIER 2 years ago
parent b966260f58
commit a428c1c4e9

@ -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

@ -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);
}

@ -37,7 +37,7 @@
</div>
<div class="row pt-5">
<p class="text-center">Bienvenue dans le mode <b>ScriptRush</b> ! Tu es ici dans le mode multijoeur de <b>Scripted</b>.
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 <b>CodeQuest</b> avant d'aller plus loin.
Pour les plus témaire je vous laisse cliquer sur <b>Lancer</b> pour trouver des adversaire.

Loading…
Cancel
Save