commit 0773fb9f25b417108ae256dd91b698367bf64b02
parent 28a7af41862a37efc04a4026ce004fbb3b9e388b
Author: Yoann Bonavero <yoann.b87@voila.fr>
Date: Thu, 3 Feb 2011 12:35:13 +0100
Modification de la partie "set partie"
Diffstat:
1 file changed, 14 insertions(+), 4 deletions(-)
diff --git a/code/serveur/php/pticlic.php b/code/serveur/php/pticlic.php
@@ -229,16 +229,26 @@ function main($action) {
} else if($action == 1) { // "Set partie"
// Requête sql d'ajout d'informations (et calcul de résultat).
// TODO : nettoyer, finir
- $gid = $_GET['gid']; // TODO : vérifier qu'on a bien distribué cette partie à cet utilisateur, et qu'il n'y a pas déjà répondu (répercuter ça sur le random_game).
- $userReputation = 5; // TODO : un nombre entre 0 et 5 environ. Par ex. log(pointsUtilisateur) est un bon choix.
+
+ $gid = $_GET['gid'];
+
+ if(ĝid != $db->querySingle("SELECT gid FROM played_game WHERE login='".$user."'"))
+ mdie(3,"Cette partie n'est associée à votre nom d'utilisateur");
+
+ $userReputation = log($db->querySingle("SELECT score FROM user WHERE login='".$user."'"));
+
$db->exec("begin transaction;");
- $db->exec("insert into played_game(pgid, gid, login) values (null, $gid, null);");
+ $db->exec("INSERT INTO played_game(pgid, gid, login) VALUES (null, $gid, null);");
$pgid = $db->lastInsertRowID();
- for ($i=0; $i < 10; $i++) {
+
+ for($i=0; $i < 10; $i++)
+ {
$x = $_GET['$i'];
+
// TODO : calculer le score. Score = proba[réponse de l'utilisateur]*coeff - proba[autres reponses]*coeff
// TODO : adapter le score en fonction de la réputation de l'utilisateur (plus quand il est jeune, pour le motiver, par ex. avec un terme constant qu'on ajoute).
$score = 1;
+
$db->exec("insert into played_game_cloud(pgid, gid, type, num, relation, weight, score) values($pgid, $gid, 1, ".$c['pos'].", $r1, ".($x*$userReputation).", ".$score.");");
// TODO : game_cloud(probaR_x_) += $réputationJoueur * $coeff
// TODO : game_cloud(totalWeight) += $réputationJoueur * $coeff (NOTE : même coeff que pour game_cloud(probaR_x_))