1.2.0 • Published 5 years ago

chess-base v1.2.0

Weekly downloads
12
License
ISC
Repository
github
Last release
5 years ago

Build Status npm version

Chess board

Chess board logic

const chess = new Chess();
const chess = new Chess(
  "rnbqkbnr/pppppppp/8/8/8/8/PPPPPPPP/RNBQKBNR w KQkq - 0 1"
);

chess.toFen();

// rnbqkbnr/pppppppp/8/8/8/8/PPPPPPPP/RNBQKBNR w KQkq - 0 1

chess.getSquare("e2");

// { square: 'e2', piece: { type: 'p', color: 'w' } }

chess.getMoves("b1");

// [{ square: "c3", piece: null }, { square: "a3", piece: null }];

chess.move("e2", "e4");
chess.toAscii();

// ♜ ♞ ♝ ♛ ♚ ♝ ♞ ♜
// ♟ ♟ ♟ ♟ ♟ ♟ ♟ ♟
//
//
//         ♙
//
// ♙ ♙ ♙ ♙   ♙ ♙ ♙
// ♖ ♘ ♗ ♕ ♔ ♗ ♘ ♖
const chess = new Chess();

chess.move("e4"); // SAN (Standard Algebraic Notation)
chess.toAscii();

// ♜ ♞ ♝ ♛ ♚ ♝ ♞ ♜
// ♟ ♟ ♟ ♟ ♟ ♟ ♟ ♟
//
//
//         ♙
//
// ♙ ♙ ♙ ♙   ♙ ♙ ♙
// ♖ ♘ ♗ ♕ ♔ ♗ ♘ ♖
const chess = new Chess(
  "r1bqkbnr/ppp2ppp/2np4/4p3/2B5/4PN2/PPPP1PPP/RNBQK2R w KQkq - 2 4"
);

chess.toAscii();

// ♜   ♝ ♛ ♚ ♝ ♞ ♜
// ♟ ♟ ♟     ♟ ♟ ♟
//     ♞ ♟
//         ♟
//     ♗
//         ♙ ♘
// ♙ ♙ ♙ ♙   ♙ ♙ ♙
// ♖ ♘ ♗ ♕ ♔     ♖

chess.castlingKing();
chess.toAscii();

// ♜   ♝ ♛ ♚ ♝ ♞ ♜
// ♟ ♟ ♟     ♟ ♟ ♟
//     ♞ ♟
//         ♟
//     ♗
//         ♙ ♘
// ♙ ♙ ♙ ♙   ♙ ♙ ♙
// ♖ ♘ ♗ ♕   ♖ ♔

chess.castlingQeen();

// throw "castling invalid";
const chess = new Chess(
  "r1bqkbnr/ppp2ppp/2np4/4p3/2B5/4PN2/PPPP1PPP/RNBQK2R w KQkq - 2 4"
);

chess.toAscii();

// ♜   ♝ ♛ ♚ ♝ ♞ ♜
// ♟ ♟ ♟     ♟ ♟ ♟
//     ♞ ♟
//         ♟
//     ♗
//         ♙ ♘
// ♙ ♙ ♙ ♙   ♙ ♙ ♙
// ♖ ♘ ♗ ♕ ♔     ♖

chess.target("e1");

// false

chess.target("e5");

// true

chess.targetKing();

// false
const chess = new Chess();

chess.getMovesTurn();

// [ { piece: { type: 'n', color: 'w' },
//     from: 'b1',
//     to: 'c3',
//     capture: null },
//   { piece: { type: 'n', color: 'w' },
//     from: 'b1',
//     to: 'a3',
//     capture: null },
//   { piece: { type: 'n', color: 'w' },
//     from: 'g1',
//     to: 'h3',
//     capture: null },
//   { piece: { type: 'n', color: 'w' },
//     from: 'g1',
//     to: 'f3',
//     capture: null },
//   { piece: { type: 'p', color: 'w' },
//     from: 'a2',
//     to: 'a3',
//     capture: null },
//   { piece: { type: 'p', color: 'w' },
//     from: 'a2',
//     to: 'a4',
//     capture: null },
//   { piece: { type: 'p', color: 'w' },
//     from: 'b2',
//     to: 'b3',
//     capture: null },
//   { piece: { type: 'p', color: 'w' },
//     from: 'b2',
//     to: 'b4',
//     capture: null },
//   { piece: { type: 'p', color: 'w' },
//     from: 'c2',
//     to: 'c3',
//     capture: null },
//   { piece: { type: 'p', color: 'w' },
//     from: 'c2',
//     to: 'c4',
//     capture: null },
//   { piece: { type: 'p', color: 'w' },
//     from: 'd2',
//     to: 'd3',
//     capture: null },
//   { piece: { type: 'p', color: 'w' },
//     from: 'd2',
//     to: 'd4',
//     capture: null },
//   { piece: { type: 'p', color: 'w' },
//     from: 'e2',
//     to: 'e3',
//     capture: null },
//   { piece: { type: 'p', color: 'w' },
//     from: 'e2',
//     to: 'e4',
//     capture: null },
//   { piece: { type: 'p', color: 'w' },
//     from: 'f2',
//     to: 'f3',
//     capture: null },
//   { piece: { type: 'p', color: 'w' },
//     from: 'f2',
//     to: 'f4',
//     capture: null },
//   { piece: { type: 'p', color: 'w' },
//     from: 'g2',
//     to: 'g3',
//     capture: null },
//   { piece: { type: 'p', color: 'w' },
//     from: 'g2',
//     to: 'g4',
//     capture: null },
//   { piece: { type: 'p', color: 'w' },
//     from: 'h2',
//     to: 'h3',
//     capture: null },
//   { piece: { type: 'p', color: 'w' },
//     from: 'h2',
//     to: 'h4',
//     capture: null } ]
1.2.0

5 years ago

1.1.0

5 years ago

1.0.2

5 years ago

1.0.1

5 years ago

1.0.0

5 years ago