score-based-elo
v1.0.2
Published
An score-based Elo system
Downloads
5
Readme
#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 = require('score-based-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 = new elo(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 = require('score-based-elo');
let eloSystem = new elo(32); // k factor
let player1 = {
score: 800,
rating: 2000
},
player2 = {
score: 500,
rating: 2200
}
;
player1.rating = eloSystem.getNewElo(player1, player2);
// now player1 rating is 2012.0042093450425