fen-chess-board
Module for keeping track of chess boards in Forsyth–Edwards Notation.
Usage
; let fenBoard = "rnbqkbnr/pppppppp/8/8/8/8/PPPPPPPP/RNBQKBNR";fenBoardboard;/*=>[ [ '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 = ;fenBoard; fenBoardboard;/*=>[ [], [], [], [], ['Q'], [], [], [] ]*/
set a4 square empty
fenBoard = "start";fenBoard; fenBoardboard;/*=>[ [ '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 = "start";fenBoard; fenBoardboard;/*=>[ [ '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 = ;fenBoardfen = scolarsMate; fenBoardboard;/*=>[ [ '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 = "start";fenBoardboard;/*=>[ [ '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 = ;fenBoardfen = scolarsMate;scolarsMate === fenBoardfen;//=> true
License
MIT © Sigurd Fosseng