polyglot-chess

0.1.6 • Public • Published

Polyglot

Polyglot is a node module to search moves in polyglot format opening books. For a description of the polyglot book format refer to this link.

Installation

Make sure you have node.js installed. Then do:

$ npm install polyglot-chess

Example

var Polyglot = require('polyglot-chess');
 
var obj = new Polyglot();
 
var fen = "rnbqkbnr/pppppppp/8/8/8/8/PPPPPPPP/RNBQKBNR w KQkq - 0 1";
console.log("Polyglot hash for fen " + fen + " is: " + obj.hash(fen));
console.log("Best move in the book is: " + obj.find(fen, "book.bin", true));
console.log("Random move in the book is: " + obj.find(fen, "book.bin", false));

API

Functions

Polyglot exposes following functions -

find(fen, bookFile, findBest)

find takes a fen string and a book file path and looks up the hash in the book file. If findBest is true it returns the best move according to the weight otherwise it returns a random move with the given hash. The chance of a random move being returned is in proportion to its weight. If no move is found it returns an empty string.

hash(fen)

hash takes a fen string and returns its polyglot hash.

Linting

To lint the js files with jshint run the command:

$ grunt lint

Running Tests

To run the tests with mocha run the command:

$ grunt test

Contributing

Fork, pick an issue to fix from issues or add a missing feature and send a pull request.

Credits

This work is derivative of the excellent stockfish polyglot book source code.

License

Polyglot is released under the MIT License. See the bundled LICENSE file for details.

Readme

Keywords

none

Package Sidebar

Install

npm i polyglot-chess

Weekly Downloads

0

Version

0.1.6

License

MIT

Last publish

Collaborators

  • imor