Skip to content
Extraits de code Groupes Projets
Valider 8d651500 rédigé par Eliah REBSTOCK's avatar Eliah REBSTOCK
Parcourir les fichiers

add_partie amélioré et corrigé (wip)

parent 12ba69cb
Aucune branche associée trouvée
Aucune étiquette associée trouvée
2 requêtes de fusion!21Merge de Dev dans Master,!2Dev phoenix
<?php <?php
include_once("ELO_function.php");
/** /**
* Created by PhpStorm. * Created by PhpStorm.
...@@ -52,15 +53,27 @@ class Partie extends Model ...@@ -52,15 +53,27 @@ class Partie extends Model
} }
return $R_classement; return $R_classement;
} }
public static function addPartie($date, $joueurs, $diff_scores, $nom_jeu, $slug_partie) {
private static function classeur($score, $id_jeu){
$db = Database::getInstance();
$sql = "SELECT classement FROM R_joueur_jeu WHERE ;";
$stmt = $db->prepare($sql);
}
public static function addPartie($joueurs, $scores, $nom_jeu) {
$db = Database::getInstance(); $db = Database::getInstance();
$sql0 = "SELECT id_jeu FROM R_jeu WHERE :nom_jeu;"; $datestr = date("Y-m-d H:i:s");
$sql0 = "SELECT id FROM R_jeu WHERE nom = :nom_jeu;";
$sql1 = "INSERT INTO R_partie (id_jeu, date) VALUES (:id_jeu, :date);"; $sql1 = "INSERT INTO R_partie (id_jeu, date) VALUES (:id_jeu, :date);";
$sql2 = "SELECT slug FROM R_joueur WHERE pseudo = :joueur;"; $sql2 = "SELECT slug FROM R_joueur WHERE pseudo = :joueur;";
$sql3 = "SELECT score FROM R_joueur_jeu WHERE joueur = :id_joueur AND jeu = :id_jeu;"; $sql3 = "SELECT score FROM R_joueur_jeu WHERE joueur = :id_joueur AND jeu = :id_jeu;";
$sql4 = "INSERT INTO R_joueur_partie (partie, joueur, classement, score) $sql4 = "INSERT INTO R_joueur_partie (partie, joueur, classement, score)
VALUES ((:id_jeu, :date), :id_joueur, :classement, :score);"; VALUES (:id_jeu, :id_joueur, :classement, :score);";
$sql5 = "UPDATE R_joueur_jeu SET score = :new_score WHERE joueur = :id_joueur AND jeu = :id_jeu;"; $sql5 = "UPDATE R_joueur_jeu SET score = :new_score WHERE joueur = :id_joueur AND jeu = :id_jeu;";
$sqlN = "INSERT INTO R_joueur_jeu (joueur, jeu, score, classement) VALUES (:id_joueur, :id_jeu, :score, :classement);";
$stmt0 = $db->prepare($sql0); $stmt0 = $db->prepare($sql0);
$stmt1 = $db->prepare($sql1); $stmt1 = $db->prepare($sql1);
$stmt2 = $db->prepare($sql2); $stmt2 = $db->prepare($sql2);
...@@ -68,41 +81,73 @@ class Partie extends Model ...@@ -68,41 +81,73 @@ class Partie extends Model
$stmt4 = $db->prepare($sql4); $stmt4 = $db->prepare($sql4);
$stmt5 = $db->prepare($sql5); $stmt5 = $db->prepare($sql5);
if($stmt0->execute(array(":nom_jeu" => $nom_jeu))) { if($stmt0->execute(array(":nom_jeu" => $nom_jeu))) {
if($row = $stmt0->fetch()) { if($row = $stmt0->fetch()) {
$id_jeu = $row[0]; $id_jeu = $row[0];
if(!Jeu::checkExists($id_jeu)) if(!Jeu::checkExistsId($id_jeu))
throw new UnexpectedValueException; throw new UnexpectedValueException;
if($stmt1->execute(array(":id_jeu" => $id_jeu, ":date" => $date))) if($stmt1->execute(array(":id_jeu" => $id_jeu, ":date" => $datestr)))
{ {
$m = count($joueurs); $m = count($joueurs);
for($j = 0; $j<$m; $j++){ $id_joueur = array_fill(0, $m, 0);
if($stmt2->execute(array(":joueur" => $joueurs[$j]))) for ($j = 0; $j<$m; $j++){
{ $id_joueur[$j] = $row[0];
if($row = $stmt2->fetch()) { if($stmt2->execute(array(":joueur" => $joueurs[$j]))) {
$id_joueur = $row[0]; if ($row = $stmt2->fetch()) {
$classement = self::calcul_classement($diff_scores); $id_joueur[$j] = $row[0];
if ($stmt3->execute(array(":id_joueur" => $id_joueur, ":id_jeu" => $id_jeu))) }
{ }
if($row = $stmt3->fetch()) { else
$old_score = $row[0]; echo "stmt2, dc";
if($stmt4->execute(array(":id_jeu" => $id_jeu, ":date" => $date, }
":id_joueur" => $id_joueur, $old_score = array_fill(0, $m, 0);
":classement" => $classement, ":score" => $old_score))){ for($j = 0; $j<$m; $j++) {
if($stmt5->execute(array(":new_score"=> $old_score + $diff_scores[$j], if ($stmt3->execute(array(":id_joueur" => $id_joueur[$j], ":id_jeu" => $id_jeu))) {
":id_jeu" => $id_jeu,":id_joueur" => $id_joueur ))) if ($row = $stmt3->fetch()) {
{ $old_score[$j] = $row[0];
//C'est dans la boite }
} else {
}
} $old_score[$j] = 1000;
$classement = Partie::classeur($score);
$stmtN = $db->prepare($sqlN);
if($stmtN->execute(array(":id_joueur" => $id_joueur[$j], ":id_jeu" => $id_jeu, ":score" => 1000, ":classement" => $classement))){
} }
} }
} }
else
echo "stmt3, dc";
}
$diff_scores = ELO_scores($scores, $scores, 32);
$classement = self::calcul_classement($diff_scores);
print_r($old_score);
print_r($diff_scores);
for($j = 0; $j<$m; $j++) {
if($stmt4->execute(array(":id_jeu" => $id_jeu,
":id_joueur" => $id_joueur[$j],
":classement" => $classement[$j], ":score" => $old_score[$j]))) {
$newS = $old_score[$j] + $diff_scores[$j];
print($newS);
if ($stmt5->execute(array(":new_score" => $newS,
":id_jeu" => $id_jeu, ":id_joueur" => $id_joueur[$j]))
) {
//C'est dans la boite
echo "works well enough";
}
else
echo "stmt5, dc";
}
else
echo "stmt4, dc";
} }
} }
else
echo "stmt1, dc";
} }
} }
else { else {
......
0% Chargement en cours ou .
You are about to add 0 people to the discussion. Proceed with caution.
Terminez d'abord l'édition de ce message.
Veuillez vous inscrire ou vous pour commenter