diff --git a/WEB/Controller/PartieGateway.php b/WEB/Controller/PartieGateway.php index de3204af..0e983213 100644 --- a/WEB/Controller/PartieGateway.php +++ b/WEB/Controller/PartieGateway.php @@ -57,8 +57,13 @@ class PartieGateway return $partie; } + public function rejoindrePartieMulti(int $idPartieInQueue,array $tabEnigme) : Partie{ + $partie = PartieFactory::createPartieMulti($idPartieInQueue,$tabEnigme); + return $partie; + } + public function findPartieInQueue(){ - $query = "SELECT id + $query = "SELECT p.id FROM Partie p, Participer pa WHERE pa.etat=0 AND pa.partie=p.id"; diff --git a/WEB/Controller/UtilisateurGateway.php b/WEB/Controller/UtilisateurGateway.php index 3f34802a..76211171 100644 --- a/WEB/Controller/UtilisateurGateway.php +++ b/WEB/Controller/UtilisateurGateway.php @@ -79,11 +79,11 @@ class UtilisateurGateway } public function addToQueue(Utilisateur $utilisateur,Partie $partie){ - $query = "INSERT INTO Participer VALUES (:idUtilisateur,:idPartie,0)"; + $query = "INSERT INTO Participer VALUES (:idPartie,:idUtilisateur,0)"; $this->con->executeQuery($query,array( ':idUtilisateur' => array($utilisateur->getEmail(),SQLITE3_TEXT), ':idPartie' => array($partie->getIdPartie(), SQLITE3_INTEGER) - )); + )); } public function isAlreadyInqueue(Utilisateur $utilisateur) : bool{ @@ -93,7 +93,7 @@ class UtilisateurGateway ) ); $results=$this->con->getResults(); - if ($results != array()) + if (empty($results)) return false; else return true; @@ -108,6 +108,12 @@ class UtilisateurGateway return False; } + private function launchGame(Utilisateur $utilisateur){ + $query = "UPDATE Participer SET etat=1 WHERE etat=0 AND utilisateur=:utilisateur"; + $this->con->executeQuery($query,array( + 'utilisateur' => array($utilisateur->getEmail(),SQLITE3_TEXT))); + } + /*public function resoudreEnigmeMulti(string $emailUtilisateur) { $query="SELECT c.partie FROM Contenir diff --git a/WEB/Model/UserModel.php b/WEB/Model/UserModel.php index c2ae4b1c..4f4d55d9 100644 --- a/WEB/Model/UserModel.php +++ b/WEB/Model/UserModel.php @@ -64,30 +64,39 @@ class UserModel } public function addToQueue(){ + echo '1'; if($this->utilisateur_gateway->isAlreadyInqueue($_SESSION['utilisateur'])) { + if ($this->utilisateur_gateway->queueFilled()) + { + echo "Partie is launched"; + $this->utilisateur_gateway->launchGame($_SESSION['utilisateur']); + } return; } - echo '1'; + echo '2'; if (!$this->partie_gateway->partieInQueueExists()) { - echo '2'; - $tabEnigme = $this->enigme_gateway->findMultiEnigma(); echo '3'; + $tabEnigme = $this->enigme_gateway->findMultiEnigma(); $idNewPartie = $this->partie_gateway->findPartieMaxId(); - echo '4'; $partie=$this->partie_gateway->creerPartieMulti($idNewPartie,$tabEnigme); } else{ + echo '4'; $idPartieInQueue = $this->partie_gateway->findPartieInQueue(); + echo '5'; $tabEnigme = $this->enigme_gateway->findEnigmaFromPartie($idPartieInQueue); - $partie = $this->partie_gateway->creerPartieMulti($idPartieInQueue, $tabEnigme); + echo '6'; + $partie = $this->partie_gateway->rejoindrePartieMulti($idPartieInQueue, $tabEnigme); + echo '7'; } - echo '6'; + echo '8'; $this->utilisateur_gateway->addToQueue($_SESSION['utilisateur'],$partie); + echo '9'; if ($this->utilisateur_gateway->queueFilled()) { echo "Partie is launched"; - /*$this->launchGame();*/ + $this->utilisateur_gateway->launchGame($_SESSION['utilisateur']); } } public function logout() diff --git a/WEB/Model/scripted.db b/WEB/Model/scripted.db index 8bad5f78..c43c9bfd 100644 Binary files a/WEB/Model/scripted.db and b/WEB/Model/scripted.db differ diff --git a/WEB/View/src/JS/FirstFunction.js b/WEB/View/src/JS/FirstFunction.js index 82e1670d..0a830ef6 100644 --- a/WEB/View/src/JS/FirstFunction.js +++ b/WEB/View/src/JS/FirstFunction.js @@ -5,14 +5,14 @@ async function submit(){ import random as r def multiVerif(a,b): - return a+b + return a*b def multiTest(x): - multi(1,1) + multiplication(1,1) for i in range(x): a=r.randint(0,100) b=r.randint(0,100) - if(multi(a,b) != multiVerif(a,b)): + if(multiplication(a,b) != multiVerif(a,b)): return False return True diff --git a/WEB/View/src/pages/FirstTests/FirstTest1.html b/WEB/View/src/pages/FirstTests/FirstTest1.html index 8f5e2f9e..1287fa3d 100644 --- a/WEB/View/src/pages/FirstTests/FirstTest1.html +++ b/WEB/View/src/pages/FirstTests/FirstTest1.html @@ -28,12 +28,18 @@
-