2.0.5 • Published 5 years ago

fen-chess-board v2.0.5

Weekly downloads
5
License
MIT
Repository
github
Last release
5 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

5 years ago

2.0.4

7 years ago

2.0.3

7 years ago

2.0.2

8 years ago

2.0.1

8 years ago

2.0.0

8 years ago

1.0.7

8 years ago

1.0.6

8 years ago

1.0.5

8 years ago

1.0.4

8 years ago

1.0.3

8 years ago

1.0.2

8 years ago

1.0.1

8 years ago