chesstournament-ranking-criteria
v0.0.1
Published
Most common ranking criteria in chess tournaments to use with chesstournament.js
Downloads
7
Readme
chesstournament.js-ranking-criteria
This module provides the most common ranking and seeding criteria in chess tournaments and can be used with chesstournament.js.
Installation
npm install chesstournament-ranking-criteria
Usage with chesstournament.js
var Criteria = require('chesstournament-ranking-criteria');
// create seeding
tournament.players.seeding.criteria = [ Criteria.Alphabetical(), Criteria.Random() ];
tournament.players.seeding.generate();
// get MatchPoints
tournament.teams['some Team'].getValue(Criteria.MatchPoints());
Criteria
Alphabetical
Compare the given Players or Teams by their names (the .name.toString()
method is used).
criterion = Criteria.Alphabetical();
Buchholz
Compare the given Players or Teams by their Buchholz, higher is better.
criterion = Criteria.Buchholz();
// -- or --
var options = {
useFIDEmode: true, // use FIDE mode for unplayed games of opponents,
lowestCuts: 0, // for Median Buchholz specify cuts
highestCuts: 0
}
criterion = Criteria.Buchholz(options, pointValues);
Buchholz Sum
Compare the given Players or Teams by the sum of their opponents' Buchholz, higher is better.
criterion = Criteria.BuchholzSum();
// -- or --
var options = ...; // same as for Criteria.Buchholz()
criterion = Criteria.Buchholz(options, pointValues);
Match Points
Compare the given Teams by their match points, higher is better.
criterion = Criteria.MatchPoints();
// -- or --
var options = {
winMode: 'more than opponent', // or 'more than half'
};
criterion = Criteria.MatchPoints(options, pointValues);
Points
Compare the given Players or Teams by their points, higher is better.
criterion = Criteria.Points();
// -- or --
criterion = Criteria.Points(pointValues);
Random
Create a random ranking for the Players or Teams.
criterion = Criteria.Random();
Rating
Compare the given Players or Teams by their ratings (the .getRating()
method is used),
higher is better.
// with options being the same as in Player.getRating() or Team.getReating()
criterion = Criteria.Rating(some, options);
Seeding
Compare the given Players or Teams by their seeding, lower is better.
criterion = Criteria.Seeding();
Title
Compare the given Players by their FIDE-title by the following order:
'GM' > 'IM' > 'WGM' > 'WIM' > 'FM' > 'WFM' > 'CM' > none
criterion = Criteria.Title();
Use reverse order
In case you want to use one of the defined criteria but only with the
reverse sort order, simply use the Criteria.reverse()
method:
// create criterion which reverses the current seeding
criterion = Criteria.reverse(Criteria.Seeding);