kacperfaber / chlss

Open-Source Chess library written in TypeScript ❤

Home Page:https://www.npmjs.com/package/chlss

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

chlss

GitHub package.json dynamic Run Tests npm npm

Simple chess library, well typed by TypeScript.

Versions

# DATE TYPE
1.0.0-beta.1 07.08.2023 beta
1.0.0-beta.2 21.08.2023 beta
1.0.0-beta.3 21.08.2023 beta
1.0.0-beta.4 23.08.2023 beta
1.0.0-beta.5 23.08.2023 beta

Installation

npm i chlss

Tutorial

1. Initialize the board

import {BoardObj} from "chlss";

// Will create an empty board,
const board = new BoardObj();

// You can use constructor 
// parameter to specify initial FEN.

const boardWithFen = new BoardObj("<invalid-fen😅>");

2. Set FEN on board

const board = new BoardObj();

// Will load FEN position "FEN" to board.
board.fen("FEN");

3. Get the legal moves

import {IMove} from "./move";
const board = new BoardObj();

// Will return all legal moves in UCI.
const uci: string[] = board.legalMovesUci();

// Will return moves as chlss move.
const moves: IMove[] = board.legalMoves();

4. Push the move

const board = new BoardObj();

// Will push e4 move.
boardObj.pushUci("e2e4");

5. Get FEN representation of board.

const board = new BoardObj();

// Will return FEN representation of the board.
const fen = board.fen();

6. Is the game ended?

import {Termination} from "./termination";

const board = new BoardObj();

// Will return instance of Termination, 
// if the game is ended.
let t: Termination | undefined = board.getTermination();

7. Get colour to move

const board = new BoardObj();

// Will return colour to move.
const toMove: Colour = board.getColour();

Reporting an issues

chlss is well tested using thousands of random positions, but please report any issue you will see.

Thank You 😎

Author

Kacper Faber

About

Open-Source Chess library written in TypeScript ❤

https://www.npmjs.com/package/chlss

License:MIT License


Languages

Language:TypeScript 96.4%Language:Python 3.3%Language:Shell 0.2%Language:JavaScript 0.1%