Système de classement

Haki32 Messages postés 1 Date d'inscription jeudi 21 août 2014 Statut Membre Dernière intervention 21 août 2014 - 21 août 2014 à 18:47
 geegee - 17 sept. 2014 à 20:58
Bonjour tous le monde!
Je voudrais savoir si vous pouviez m'éclairer sur ce sujet.
Alors je souhaiterai avoir un moyen de coder une sorte de classement en temps réelle. Un classement que je pourrai installer de sorte les meilleurs score d'un jeu ainsi que le classement de chaque personne ayant participer au jeu que je voudrais mettre en place.
J'espère avoir été clair, merci pour votre aide.

2 réponses

@karamel Messages postés 1855 Date d'inscription vendredi 9 mai 2008 Statut Modérateur Dernière intervention 18 avril 2024 153
21 août 2014 à 21:13
bonjour

pour la partie navigateur je pense a l'ajax mais pour ce qui est des score sa ce passe coté serveur avec le langage serveur comme le php pour ce qui est de la reception et l'envoie des donné couplé a une base de donné comme mysql pour la conservation des scores
0
var K_VALUE = 64;

var RANGE = 400;



function easy_elo(elo1,elo2,result)
{
 return elo_calculator((result?1:0),(result?0:1),elo1,elo2);
}

function elo_calculator(score1,score2,e1,e2)
{
 var elo1 = parseInt(e1);
 var elo2 = parseInt(e2);
 var e;
 var r = [];
 if(score1 != score2) // le match n'est pas une égalité, il existe un vainqueur
 {
  if(score1 > score2) // le vainqueur est l'entité 1
  {
   e=K_VALUE-Math.round(1/(1+Math.pow(10,((elo2-elo1)/RANGE)))*K_VALUE);
   r['new_elo1'] = elo1 + e;
   r['new_elo2'] = elo2 - e;
  }
  else    // le vainqueur est l'entité 2
  {
   e=K_VALUE-Math.round(1/(1+Math.pow(10,((elo1-elo2)/RANGE)))*K_VALUE);
   r['new_elo1'] = elo1 - e;
   r['new_elo2'] = elo2 + e;
  }
 }
 else     // le match est une égalité, il n'existe pas de vainqueur
 {
  if(elo1 == elo2) // les deux entités ont le même classement elo
  {
   r['new_elo1'] = elo1;
   r['new_elo2'] = elo2;
  }
  else    // les deux entités n'ont pas le même classement elo
  {
   if(elo1 > elo2) // l'entité 1 a un classement elo plus élevé
   {
    e=(K_VALUE-Math.round(1/(1+Math.pow(10,((elo1-elo2)/RANGE)))*K_VALUE))-(K_VALUE-Math.round(1/(1+Math.pow(10,((elo2-elo1)/RANGE)))*K_VALUE));
    r['new_elo1'] = elo1 - e;
    r['new_elo2'] = elo2 + e;
   }
   else   // l'entité 2 a un classement elo plus élevé
   {
    e=(K_VALUE-Math.round(1/(1+Math.pow(10,((elo2-elo1)/RANGE)))*K_VALUE))-(K_VALUE-Math.round(1/(1+Math.pow(10,((elo1-elo2)/RANGE)))*K_VALUE));
    r['new_elo1'] = elo1 + e;
    r['new_elo2'] = elo2 - e;
   }
  }
 }
 r['change1'] = ((r['new_elo1'] - elo1) > 0) ? ('+'+(r['new_elo1'] - elo1)) : ((r['new_elo1'] - elo1)+'');
 r['change2'] = ((r['new_elo2'] - elo2) > 0) ? ('+'+(r['new_elo2'] - elo2)) : ((r['new_elo2'] - elo2)+'');
 return r;
}
0
Rejoignez-nous