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
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 {
......
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