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

Ajout d'une fonction ELO dans le cas où il y a une entrée sous forme de score

parent 1f5df89b
Aucune branche associée trouvée
Aucune étiquette associée trouvée
2 requêtes de fusion!21Merge de Dev dans Master,!2Dev phoenix
...@@ -97,6 +97,36 @@ function ELO_classement($S, $R, $K) ...@@ -97,6 +97,36 @@ function ELO_classement($S, $R, $K)
} }
/** Fonction qui calcules les différentiels de scores obtenus après une à count($S) joueurs
* en considérant que $R correspond au score des joueurs à cette partie.
* Ne prend pas en compte les écarts de scores entre les joueurs, la fonction ne construisant qu'un classement
* entre les joueurs.
* On suppose qu'il y a correpondance entre les indices de $S et les indices de $R.
* @param $S
* @param $R
* @param $K
* @param array $S : scores actuels des joueurs
* @param array $R : scores des joueurs à une partie
* @param int $K : la quantité max de points gagnable ou perdable sur une partie
* @return array : le différentiel de score de chaque joueur
* @throws DomainException
*/
function ELO_scores($S, $R, $K){
$m = count($S);
if (count($R) != $m)
throw new DomainException;
$R_classement = array_fill(0, $m, 0);
asort($R);
$i = 1;
foreach ($R as $k => $val){
$R_classement[$k] = $i;
$i++;
}
return ELO_classement($S, $R_classement, $K);
}
function random_classement($n) function random_classement($n)
{ {
$r = array(); $r = array();
...@@ -109,7 +139,7 @@ function random_classement($n) ...@@ -109,7 +139,7 @@ function random_classement($n)
} }
/* Test */ /* Test */
function testeur(){
print("<html><body><table><th>Itération</th><th>Joueur 1</th><th>Joueur 2</th><th>Joueur 3</th><th>Joueur 4</th><th>Joueur 5</th><th>Somme</th></tr>"); print("<html><body><table><th>Itération</th><th>Joueur 1</th><th>Joueur 2</th><th>Joueur 3</th><th>Joueur 4</th><th>Joueur 5</th><th>Somme</th></tr>");
$DS = array(1000,1000,1000,1000,1000); $DS = array(1000,1000,1000,1000,1000);
...@@ -136,3 +166,5 @@ for($j=1;$j<1000;$j++){ ...@@ -136,3 +166,5 @@ for($j=1;$j<1000;$j++){
print("<td>$p</td></tr>"); print("<td>$p</td></tr>");
} }
print("</table></body></html>"); print("</table></body></html>");
}
testeur();
0% Chargement en cours ou .
You are about to add 0 people to the discussion. Proceed with caution.
Veuillez vous inscrire ou vous pour commenter