2.0.5 • Published 7 years ago

fen-chess-board v2.0.5

Weekly downloads
5
License
MIT
Repository
github
Last release
7 years ago

fen-chess-board travis npm

Module for keeping track of chess boards in Forsyth–Edwards Notation.

Usage

import FENBoard from "fen-chess-board";

let fenBoard = new FENBoard("rnbqkbnr/pppppppp/8/8/8/8/PPPPPPPP/RNBQKBNR");
fenBoard.board;
/*=>
[ [ 'r', 'n', 'b', 'q', 'k', 'b', 'n', 'r' ],
  [ 'p', 'p', 'p', 'p', 'p', 'p', 'p', 'p' ],
  [ '' , '' , '' , '' , '' , '' , '' , ''  ],
  [ '' , '' , '' , '' , '' , '' , '' , ''  ],
  [ '' , '' , '' , '' , '' , '' , '' , ''  ],
  [ '' , '' , '' , '' , '' , '' , '' , ''  ],
  [ 'P', 'P', 'P', 'P', 'P', 'P', 'P', 'P' ],
  [ 'R', 'N', 'B', 'Q', 'K', 'B', 'N', 'R' ] ]
*/

put()

Put the white queen on the a4 square

fenBoard = new FENBoard();
fenBoard.put("a4", "Q");

fenBoard.board;
/*=>
[ [],
  [],
  [],
  [],
  ['Q'],
  [],
  [],
  [] ]
*/

set a4 square empty

fenBoard = new FENBoard("start");
fenBoard.put("a1", "");

fenBoard.board;
/*=>
[ [ 'r', 'n', 'b', 'q', 'k', 'b', 'n', 'r' ],
  [ 'p', 'p', 'p', 'p', 'p', 'p', 'p', 'p' ],
  [ '' , '' , '' , '' , '' , '' , '' , ''  ],
  [ '' , '' , '' , '' , '' , '' , '' , ''  ],
  [ '' , '' , '' , '' , '' , '' , '' , ''  ],
  [ '' , '' , '' , '' , '' , '' , '' , ''  ],
  [ 'P', 'P', 'P', 'P', 'P', 'P', 'P', 'P' ],
  [ '' , 'N', 'B', 'Q', 'K', 'B', 'N', 'R' ] ]
*/

move()

move a piece from a4 to a1

fenBoard = new FENBoard("start");
fenBoard.move("d2", "d4");

fenBoard.board;
/*=>
[ [ 'r', 'n', 'b', 'q', 'k', 'b', 'n', 'r' ],
  [ 'p', 'p', 'p', 'p', 'p', 'p', 'p', 'p' ],
  [ '' , '' , '' , '' , '' , '' , '' , ''  ],
  [ '' , '' , '' , '' , '' , '' , '' , ''  ],
  [ '' , '' , '' , 'P', '' , '' , '' , ''  ],
  [ '' , '' , '' , '' , '' , '' , '' , ''  ],
  [ 'P', 'P', 'P', '', 'P' , 'P', 'P', 'P' ],
  [ 'R', 'N', 'B', 'Q', 'K', 'B', 'N', 'R' ] ]
*/

setting board position

const scolarsMate = "r1bqk1nr/pppp1Qpp/2n5/2b1p3/2B1P3/8/PPPP1PPP/RNB1K1NR";
fenBoard = new FENBoard();
fenBoard.fen = scolarsMate;

fenBoard.board;
/*=>
[ [ 'r',  '', 'b', 'q', 'k', '' , 'n', 'r' ],
  [ 'p', 'p', 'p', 'p', '' , 'Q', 'p', 'p' ],
  [ '' , '' , 'n', '' , '' , '' , '' , ''  ],
  [ '' , '' , 'b', '' , 'p', '' , '' , ''  ],
  [ '' , '' , 'B', '' , 'P', '' , '' , ''  ],
  [ '' , '' , '' , '' , '' , '' , '' , ''  ],
  [ 'P', 'P', 'P', 'P', '' , 'P', 'P', 'P' ],
  [ 'R', 'N', 'B', '' , 'K', '', 'N', 'R' ] ]
*/

simple start position

fenBoard = new FENBoard("start");
fenBoard.board;
/*=>
[ [ 'r', 'n', 'b', 'q', 'k', 'b', 'n', 'r' ],
  [ 'p', 'p', 'p', 'p', 'p', 'p', 'p', 'p' ],
  [ '' , '' , '' , '' , '' , '' , '' , ''  ],
  [ '' , '' , '' , '' , '' , '' , '' , ''  ],
  [ '' , '' , '' , '' , '' , '' , '' , ''  ],
  [ '' , '' , '' , '' , '' , '' , '' , ''  ],
  [ 'P', 'P', 'P', 'P', 'P', 'P', 'P', 'P' ],
  [ 'R', 'N', 'B', 'Q', 'K', 'B', 'N', 'R' ] ]
*/

getting board position

fenBoard = new FENBoard();
fenBoard.fen = scolarsMate;
scolarsMate === fenBoard.fen;
//=> true

License

MIT © Sigurd Fosseng

2.0.5

7 years ago

2.0.4

9 years ago

2.0.3

9 years ago

2.0.2

10 years ago

2.0.1

10 years ago

2.0.0

10 years ago

1.0.7

10 years ago

1.0.6

10 years ago

1.0.5

10 years ago

1.0.4

10 years ago

1.0.3

10 years ago

1.0.2

10 years ago

1.0.1

10 years ago