0.14.1 • Published 2 months ago
chessops v0.14.1
chessops
Chess and chess variant rules and operations in TypeScript.
Documentation
Features
- Read and write FEN
- Vocabulary
Square
SquareSet
(implemented as bitboards)Color
Role
(piece type)Piece
(Role
andColor
)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.1
2 months ago
0.14.0
3 months ago
0.13.0
5 months ago
0.12.8
6 months ago
0.12.7
1 year ago
0.12.6
1 year ago
0.12.2
2 years ago
0.12.3
2 years ago
0.12.4
2 years ago
0.12.5
2 years ago
0.11.0
2 years ago
0.12.0
2 years ago
0.12.1
2 years ago
0.10.4
2 years ago
0.10.5
2 years ago
0.10.3
3 years ago
0.10.2
3 years ago
0.10.1
3 years ago
0.10.0
3 years ago
0.9.0
3 years ago
0.8.1
3 years ago
0.8.0
3 years ago
0.7.4
3 years ago
0.7.3
4 years ago
0.7.2
4 years ago
0.7.1
4 years ago
0.7.0
4 years ago
0.6.0
4 years ago
0.5.0
4 years ago
0.4.2
4 years ago
0.4.1
4 years ago
0.4.0
4 years ago
0.3.6
4 years ago
0.3.5
4 years ago
0.3.4
4 years ago
0.3.3
4 years ago
0.3.2
4 years ago
0.3.1
4 years ago
0.3.0
4 years ago
0.2.0
4 years ago
0.1.0
4 years ago
0.1.0-alpha.1
4 years ago
0.1.0-alpha.0
4 years ago