la création de la partie
This commit is contained in:
@@ -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 . ");");
|
||||
}
|
||||
}
|
||||
|
||||
?>
|
||||
Reference in New Issue
Block a user