0.0.2 • Published 10 years ago

com.izaakschroeder.trueskill v0.0.2

Weekly downloads
8
License
-
Repository
github
Last release
10 years ago

TrueSkill

A purely functional implementation of a TrueSkill-compatible ranking system compatible with your web browser and nodejs.

Build Status

npm install com.izaakschroeder.trueskill

Usage

Examples can be found in the examples folder.

var 
	//Create TrueSkill instance with default parameters
	trueSkill = require('com.izaakschroeder.trueskill').create(),
	//Create some players
	players = [ { 
		name: 'Justin', 
		rating: trueSkill.createRating() 
	}, { 
		name: 'James',
		rating: trueSkill.createRating()
	} ];

//Play a single match and update the player ratings
function playMatch(results) {
	//Get the new ratings by creating one player teams for each player
	newRatings = trueSkill.update(players.map(function(player) { return [player.rating]; }), results);
	//Update the player's rating
	players.forEach(function(player, i) {
		player.rating = newRatings[i][0];
	});
}

//Show initial ratings
console.log('Initial ratings: Justin = '+players[0].rating.mu+', James = '+players[1].rating.mu);

//Play some games
playMatch([1,0]); //James wins
playMatch([0,1]); //Justin wins
playMatch([1,0]); //James wins
playMatch([1,0]); //James wins

//Show final ratings
console.log('Final ratings: Justin = '+players[0].rating.mu+', James = '+players[1].rating.mu);