www

Unnamed repository; edit this file 'description' to name the repository.
Log | Files | Refs

commit 6ade7cb4331a7ffc428ae861e089fc5d101b70ea
parent f02b358af865a6f912fbb575c6048612d0f428ac
Author: Yoann <yoann.b87@voila.fr>
Date:   Wed, 25 May 2011 18:37:41 +0200

L'algo de sélection de partie selectionne maintenant les
principalement parties créées
par les utilisateur.

Diffstat:
Mcode/serveur/php/ressources/backend.inc | 31+++++++++++++++++++++++++++----
1 file changed, 27 insertions(+), 4 deletions(-)

diff --git a/code/serveur/php/ressources/backend.inc b/code/serveur/php/ressources/backend.inc @@ -23,8 +23,7 @@ require_once("ressources/db.inc"); * computeUserReputation($score); * normalizeProbas($row); * setGame($user, $pgid, $gid, $answers); -* get_game_relations(); -* getGameRelationsJSON(); +* getGameRelations(); * setGameGetScore($user, $pgid, $gid, $answers); * getNodeEid($node); * wordExist($node); @@ -37,7 +36,6 @@ require_once("ressources/db.inc"); */ - /* Les définitions ====================*/ @@ -356,7 +354,32 @@ function insertCreatedGame($centerEid, $cloud, $r1, $r2, $totalDifficulty, $user */ function randomGameCore() { $db = getDB(); - return $db->querySingle("select gid from game where gid = (abs(random()) % (select max(gid) from game))+1 or gid = (select max(gid) from game where gid > 0) order by gid limit 1;"); + + $game = $db->query('SELECT gid,(nb_like - nb_dislike + 5 * (author != "bot")) AS coef FROM game'); + $game = $game->fetchArray(); + + foreach($game as $g) { + if($g['coef'] < -5) + $g['coef'] = 0; + else + $g['coef'] += 5; + + $sum += $g['coef']; + } + + $game = rand(0,$sum); + + foreach($game as $g) { + $count += $g['coef']; + + if($count >= $randomValue) + return $g['gid']; + } + + return 0; + + // Ancienne requêtes de sélection. + //return $db->querySingle("select gid from game where gid = (abs(random()) % (select max(gid) from game))+1 or gid = (select max(gid) from game where gid > 0) order by gid limit 1;"); } /** Sélection aléatoire d'une partie de la base de données parmis les parties à jouer.