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.
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
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;
}