0.14.2 • Published 7 months ago

chessops v0.14.2

Weekly downloads
433
License
GPL-3.0-or-later
Repository
github
Last release
7 months ago

chessops

Test npm

Chess and chess variant rules and operations in TypeScript.

Documentation

View TypeDoc

Features

  • Read and write FEN
  • Vocabulary
    • Square
    • SquareSet (implemented as bitboards)
    • Color
    • Role (piece type)
    • Piece (Role and Color)
    • Board (map of piece positions)
    • Castles
    • Setup (a not necessarily legal position)
    • Position (base class for legal positions, Chess is a concrete implementation)
  • Variant rules: Standard chess, Crazyhouse, King of the Hill, Three-check, Antichess, Atomic, Horde, Racing Kings
    • Move making
    • Legal move and drop move generation
    • Game end and outcome
    • Insufficient material
    • Setup validation
  • Supports Chess960
  • Attacks and rays using Hyperbola Quintessence (faster to initialize than Magic Bitboards)
  • Read and write UCI move notation
  • Read and write SAN
  • Read and write PGN
    • Parser supports asynchronous streaming
    • Game tree model
    • Transform game tree to augment nodes with arbitrary user data
    • Parse comments with evaluations, clocks and shapes
  • Transformations: Mirroring and rotating
  • Compatibility: chessground and scalachess

Example

import { Chess } from 'chessops/chess';
import { parseFen } from 'chessops/fen';

const setup = parseFen('r1bqkbnr/ppp2Qpp/2np4/4p3/2B1P3/8/PPPP1PPP/RNB1K1NR b KQkq - 0 4').unwrap();
const pos = Chess.fromSetup(setup).unwrap();
console.assert(pos.isCheckmate());

License

chessops is licensed under the GNU General Public License 3 or any later version at your choice. See LICENSE.txt for details.

0.14.2

7 months ago

0.14.1

1 year ago

0.14.0

1 year ago

0.13.0

2 years ago

0.12.8

2 years ago

0.12.7

2 years ago

0.12.6

2 years ago

0.12.2

3 years ago

0.12.3

3 years ago

0.12.4

3 years ago

0.12.5

3 years ago

0.11.0

3 years ago

0.12.0

3 years ago

0.12.1

3 years ago

0.10.4

3 years ago

0.10.5

3 years ago

0.10.3

4 years ago

0.10.2

4 years ago

0.10.1

4 years ago

0.10.0

4 years ago

0.9.0

4 years ago

0.8.1

4 years ago

0.8.0

4 years ago

0.7.4

5 years ago

0.7.3

5 years ago

0.7.2

5 years ago

0.7.1

5 years ago

0.7.0

5 years ago

0.6.0

5 years ago

0.5.0

5 years ago

0.4.2

5 years ago

0.4.1

5 years ago

0.4.0

5 years ago

0.3.6

5 years ago

0.3.5

5 years ago

0.3.4

5 years ago

0.3.3

5 years ago

0.3.2

5 years ago

0.3.1

5 years ago

0.3.0

5 years ago

0.2.0

6 years ago

0.1.0

6 years ago

0.1.0-alpha.1

6 years ago

0.1.0-alpha.0

6 years ago