@lubert/chess.ts
TypeScript icon, indicating that this package has built-in type declarations

0.16.1 • Public • Published

chess.ts

Build Status npm

chess.ts is a chess library and rewrite of chess.js in Typescript that is used for chess move generation/validation, piece placement/movement, and check/checkmate/stalemate detection - basically everything but the AI.

chess.ts has been extensively tested in node.js and most modern browsers.

Installation

To install the stable version:

# NPM
npm install @lubert/chess.ts

# Yarn
yarn add @lubert/chess.ts

Documentation

Example Code

The code below plays a random game of chess:

import { Chess } from '@lubert/chess.ts'
const chess = new Chess()

while (!chess.game_over()) {
  const moves = chess.moves()
  const move = moves[Math.floor(Math.random() * moves.length)]
  chess.move(move)
}
console.log(chess.pgn())

User Interface

By design, chess.ts is headless and does not include user interface. Many developers have had success integrating chess.ts with the chessboard.js library. See chessboard.js - Random vs Random for an example.

BUGS

  • The en passant square and castling flags aren't adjusted when using the put/remove functions (workaround: use .load() instead)

Readme

Keywords

Package Sidebar

Install

npm i @lubert/chess.ts

Weekly Downloads

10

Version

0.16.1

License

BSD-2-Clause

Unpacked Size

419 kB

Total Files

115

Last publish

Collaborators

  • lubert