Merge branch 'master' of https://codefirst.iut.uca.fr/git/nathan.boileau/Scripted
continuous-integration/drone/push Build is passing Details

ServeurDeTest
Noé GARNIER 2 years ago
commit c818c5959d

@ -57,8 +57,13 @@ class PartieGateway
return $partie; return $partie;
} }
public function rejoindrePartieMulti(int $idPartieInQueue,array $tabEnigme) : Partie{
$partie = PartieFactory::createPartieMulti($idPartieInQueue,$tabEnigme);
return $partie;
}
public function findPartieInQueue(){ public function findPartieInQueue(){
$query = "SELECT id $query = "SELECT p.id
FROM Partie p, Participer pa FROM Partie p, Participer pa
WHERE pa.etat=0 WHERE pa.etat=0
AND pa.partie=p.id"; AND pa.partie=p.id";

@ -79,11 +79,11 @@ class UtilisateurGateway
} }
public function addToQueue(Utilisateur $utilisateur,Partie $partie){ 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( $this->con->executeQuery($query,array(
':idUtilisateur' => array($utilisateur->getEmail(),SQLITE3_TEXT), ':idUtilisateur' => array($utilisateur->getEmail(),SQLITE3_TEXT),
':idPartie' => array($partie->getIdPartie(), SQLITE3_INTEGER) ':idPartie' => array($partie->getIdPartie(), SQLITE3_INTEGER)
)); ));
} }
public function isAlreadyInqueue(Utilisateur $utilisateur) : bool{ public function isAlreadyInqueue(Utilisateur $utilisateur) : bool{
@ -93,7 +93,7 @@ class UtilisateurGateway
) )
); );
$results=$this->con->getResults(); $results=$this->con->getResults();
if ($results != array()) if (empty($results))
return false; return false;
else else
return true; return true;
@ -108,6 +108,12 @@ class UtilisateurGateway
return False; 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) /*public function resoudreEnigmeMulti(string $emailUtilisateur)
{ {
$query="SELECT c.partie FROM Contenir $query="SELECT c.partie FROM Contenir

@ -64,30 +64,39 @@ class UserModel
} }
public function addToQueue(){ public function addToQueue(){
echo '1';
if($this->utilisateur_gateway->isAlreadyInqueue($_SESSION['utilisateur'])) if($this->utilisateur_gateway->isAlreadyInqueue($_SESSION['utilisateur']))
{ {
if ($this->utilisateur_gateway->queueFilled())
{
echo "Partie is launched";
$this->utilisateur_gateway->launchGame($_SESSION['utilisateur']);
}
return; return;
} }
echo '1'; echo '2';
if (!$this->partie_gateway->partieInQueueExists()) { if (!$this->partie_gateway->partieInQueueExists()) {
echo '2';
$tabEnigme = $this->enigme_gateway->findMultiEnigma();
echo '3'; echo '3';
$tabEnigme = $this->enigme_gateway->findMultiEnigma();
$idNewPartie = $this->partie_gateway->findPartieMaxId(); $idNewPartie = $this->partie_gateway->findPartieMaxId();
echo '4';
$partie=$this->partie_gateway->creerPartieMulti($idNewPartie,$tabEnigme); $partie=$this->partie_gateway->creerPartieMulti($idNewPartie,$tabEnigme);
} }
else{ else{
echo '4';
$idPartieInQueue = $this->partie_gateway->findPartieInQueue(); $idPartieInQueue = $this->partie_gateway->findPartieInQueue();
echo '5';
$tabEnigme = $this->enigme_gateway->findEnigmaFromPartie($idPartieInQueue); $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); $this->utilisateur_gateway->addToQueue($_SESSION['utilisateur'],$partie);
echo '9';
if ($this->utilisateur_gateway->queueFilled()) if ($this->utilisateur_gateway->queueFilled())
{ {
echo "Partie is launched"; echo "Partie is launched";
/*$this->launchGame();*/ $this->utilisateur_gateway->launchGame($_SESSION['utilisateur']);
} }
} }
public function logout() public function logout()

Binary file not shown.
Loading…
Cancel
Save