Score-based Elo system
Score-based Elo is a rating system similar to classical Elo used in different sports like chess or go, but this calculates ratings by the players' score proportion.
Installation
In the console:
npm install --save score-based-elo
In node.js:
const elo = ;
Usage
-
First of all you need to import the package as seen above.
-
Create a new Elo system with the
EloSystem
constructor, with thek
factor as an argument:
let eloSystem = 32; //argument is the k factor
k
factor can vary depending on the game, in chess is commonly set to 32. More info about Elo system and k
factor in this link.
EloSystem class
- Method
eloSystem.getNewElo(player1, player2)
Receives two objects representing the players that are competing.player
object must have two properties: - Number
player.score
, representing the game score obtained. - Number
player.rating
, the current Elo rating.
Return the new player1
rating.
- Method
eloSystem.setKFactor(number)
Reset Elo K factor, a common value is 32. Always returnsundefined
.
Example
const elo = ; let eloSystem = 32; // k factor let player1 = score: 800 rating: 2000 player2 = score: 500 rating: 2200 ; player1rating = eloSystem; // now player1 rating is 2012.0042093450425