diff --git a/app/model/Partie.php b/app/model/Partie.php index be577c29aa3f028266263943815c87206c9f1984..d76587f6b6a6adb1753bc3673ef07a0c6973355c 100644 --- a/app/model/Partie.php +++ b/app/model/Partie.php @@ -1,4 +1,5 @@ <?php +include_once("ELO_function.php"); /** * Created by PhpStorm. @@ -52,15 +53,27 @@ class Partie extends Model } 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(); - $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);"; $sql2 = "SELECT slug FROM R_joueur WHERE pseudo = :joueur;"; $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) - 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;"; + $sqlN = "INSERT INTO R_joueur_jeu (joueur, jeu, score, classement) VALUES (:id_joueur, :id_jeu, :score, :classement);"; $stmt0 = $db->prepare($sql0); $stmt1 = $db->prepare($sql1); $stmt2 = $db->prepare($sql2); @@ -68,41 +81,73 @@ class Partie extends Model $stmt4 = $db->prepare($sql4); $stmt5 = $db->prepare($sql5); + if($stmt0->execute(array(":nom_jeu" => $nom_jeu))) { if($row = $stmt0->fetch()) { $id_jeu = $row[0]; - if(!Jeu::checkExists($id_jeu)) - throw new UnexpectedValueException; - - if($stmt1->execute(array(":id_jeu" => $id_jeu, ":date" => $date))) - { - $m = count($joueurs); - for($j = 0; $j<$m; $j++){ - if($stmt2->execute(array(":joueur" => $joueurs[$j]))) - { - if($row = $stmt2->fetch()) { - $id_joueur = $row[0]; - $classement = self::calcul_classement($diff_scores); - if ($stmt3->execute(array(":id_joueur" => $id_joueur, ":id_jeu" => $id_jeu))) - { - if($row = $stmt3->fetch()) { - $old_score = $row[0]; - if($stmt4->execute(array(":id_jeu" => $id_jeu, ":date" => $date, - ":id_joueur" => $id_joueur, - ":classement" => $classement, ":score" => $old_score))){ - if($stmt5->execute(array(":new_score"=> $old_score + $diff_scores[$j], - ":id_jeu" => $id_jeu,":id_joueur" => $id_joueur ))) - { - //C'est dans la boite - } - } - } + if(!Jeu::checkExistsId($id_jeu)) + throw new UnexpectedValueException; + + if($stmt1->execute(array(":id_jeu" => $id_jeu, ":date" => $datestr))) + { + $m = count($joueurs); + $id_joueur = array_fill(0, $m, 0); + for ($j = 0; $j<$m; $j++){ + $id_joueur[$j] = $row[0]; + if($stmt2->execute(array(":joueur" => $joueurs[$j]))) { + if ($row = $stmt2->fetch()) { + $id_joueur[$j] = $row[0]; + } + } + else + echo "stmt2, dc"; + } + $old_score = array_fill(0, $m, 0); + for($j = 0; $j<$m; $j++) { + if ($stmt3->execute(array(":id_joueur" => $id_joueur[$j], ":id_jeu" => $id_jeu))) { + if ($row = $stmt3->fetch()) { + $old_score[$j] = $row[0]; + } + 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 {