Share your code. npm Orgs help your team discover, share, and reuse code. Create a free org »

    chesstournament-ranking-criteriapublic

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

    Keywords

    none

    install

    npm i chesstournament-ranking-criteria

    Downloadsweekly downloads

    2

    version

    0.0.1

    license

    none

    repository

    githubgithub

    last publish

    collaborators

    • avatar