diff --git a/controleurs/creerPartie_controleur.php b/controleurs/creerPartie_controleur.php index 930f2dc..4425e00 100644 --- a/controleurs/creerPartie_controleur.php +++ b/controleurs/creerPartie_controleur.php @@ -11,11 +11,13 @@ function rangDansPlateau(int $idplateau, int $rang) $idplateau . " AND rang = " . $rang)['instances']); } -function getCarteID(String $couleur, int $index) { +function getCarteID(string $couleur, int $index) +{ return get_infos_requete("SELECT idcarte FROM carte WHERE niveau = '" . $couleur . "'")['instances'][$index - 1]['idcarte']; } -function carteDansPlateau(int $idplateau, int $idcarte) { +function carteDansPlateau(int $idplateau, int $idcarte) +{ return !empty(get_infos_requete("SELECT idcarte AS nb FROM est_compose WHERE idplateau = " . $idplateau . " AND idcarte = " . $idcarte)['instances']); } @@ -30,7 +32,7 @@ function ajouterCartesAlea(string $couleur, int $nbCartesCouleurPartie, int $nbC $nbCartesJeu = get_infos_requete("SELECT nombre FROM cartes_jeu WHERE couleur = '" . $couleur . "'")['instances'][0]['nombre']; for ($i = 0; $i < $nbCartesCouleurPartie; $i++) { - $rang = 1; + $rang = rand(1, $nbCartes); while (rangDansPlateau($idplateau, $rang)) { $rang = rand(1, $nbCartes); } @@ -55,8 +57,6 @@ function creerPartie(int $nbCartesVertes, int $nbCartesOranges, int $nbCartesNoi $idplateau = $res['instances'][0]['idplateau']; - println("ID plateau : " . $idplateau); - $res = get_infos_requete("INSERT INTO partie (date_partie, horaire, etat, idplateau) VALUES (NOW(), NOW(), 'a venir', " . $idplateau . ") RETURNING idpartie"); @@ -67,20 +67,62 @@ function creerPartie(int $nbCartesVertes, int $nbCartesOranges, int $nbCartesNoi $idpartie = $res['instances'][0]['idpartie']; - println("ID partie : " . $idpartie); - ajouterCartesAlea("noire", $nbCartesNoires, $total, $idplateau); ajouterCartesAlea("orange", $nbCartesOranges, $total, $idplateau); ajouterCartesAlea("verte", $nbCartesVertes, $total, $idplateau); + + return $idpartie; +} + +function getJoueurs() +{ + return get_infos_instances("joueur")['instances']; } +function getJoueursPartie(int $idpartie) +{ + return get_infos_requete("SELECT * FROM joue JOIN joueur J USING(idjoueur) WHERE joue.idpartie = " . $idpartie)['instances']; +} +function ajouter_joueur(int $idpartie, int $idjoueur) +{ + $couleur = rand(0, 16777215); + executer_une_requete("INSERT INTO joue (idpartie, idjoueur, couleur_pion) VALUES (" . $idpartie . ", " . $idjoueur . ", " . $couleur . ")"); +} +function enlever_joueur(int $idpartie, int $idjoueur) +{ + executer_une_requete("DELETE FROM joue WHERE idpartie = " . $idpartie . " AND idjoueur = " . $idjoueur); +} +function valider_partie(int $idpartie, string $ordre) +{ + $joueurs = null; + switch ($ordre) { + case "honneurJeune": + $joueurs = get_infos_requete("SELECT * FROM joue JOIN joueur J USING(idjoueur) WHERE joue.idpartie = " . $idpartie . " ORDER BY annee_nais"); + break; + case "honneurNul": + $joueurs = get_infos_requete("SELECT idjoueur, COUNT(idjoueur) as nb_parties FROM joueur JOIN joue USING(idjoueur) WHERE idjoueur IN(SELECT idjoueur FROM joue WHERE idpartie=" . + $idpartie . ") GROUP BY idjoueur ORDER BY nb_parties"); + break; + case "aleatoire": + // TODO: vrai aléatoire + $joueurs = get_infos_requete("SELECT * FROM joue JOIN joueur J USING(idjoueur) WHERE joue.idpartie = " . $idpartie); + break; + default: + debug_log("How did we get there ?"); + break; + } + + for ($i = 1; $i <= sizeof($joueurs['instances']); $i++) { + executer_une_requete("UPDATE joue SET rang = " . $i . " WHERE (`idjoueur` = " . $joueurs['instances'][$i - 1]['idjoueur'] . ") and (`idpartie` = " . $idpartie . ");"); + } +} ?> \ No newline at end of file diff --git a/vues/creerPartie_vue.php b/vues/creerPartie_vue.php index 3bf704b..16ca38e 100644 --- a/vues/creerPartie_vue.php +++ b/vues/creerPartie_vue.php @@ -1,6 +1,7 @@ '; @@ -37,7 +39,7 @@ function afficher_formulaire() { $total += champs_cartes('nbCartesNoires', 'Nombre de cartes noires'); - if($total > 0) { + if ($total > 0) { echo '
Joueurs :
'; + foreach ($joueurs as $joueur) { + $couleur_hex = dechex($joueur['couleur_pion']); + echo '' . $joueur['pseudo'] . " (" . $joueur['prenom'] . " " . $joueur['nom'] . ')
'; + } + echo '