Package Exports
- chesstournament-ranking-criteria
This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (chesstournament-ranking-criteria) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.
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-criteriaUsage 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);