JSPM

chesstournament-ranking-criteria

0.0.1
  • ESM via JSPM
  • ES Module Entrypoint
  • Export Map
  • Keywords
  • License
  • Repository URL
  • TypeScript Types
  • README
  • Created
  • Published
  • Downloads 3
  • Score
    100M100P100Q43396F

Most common ranking criteria in chess tournaments to use with chesstournament.js

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-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);