A tool for validating chess piece movement generated from a FEN position.
FenFurnace is available on npm:
npm install fenfurnace
setupBoard()- Initialises a new chess game with the default FEN and move data.
createBoard(fen)- Creates a board from a given fen string.
validation.validateMove(startCell, endCell)- Check that a given move is valid; calls
isValid()andpieceInWay().
- Check that a given move is valid; calls
validation.isValid(startCell, endCell)- Check that a given move obeys the rules of chess.
validation.pieceInWay(startCell, endCell)- Check if there are any pieces between two cells.
makeMove(startCell, endCell, completeMove)- Attempt to move a piece; returns
falseif invalid. IfcompleteMoveisfalse, no move will actually be made; instead the move will just be tested for validity.
- Attempt to move a piece; returns
undoMove()- Undoes and returns the last move.
findAllMoves(cell)- Return an array of all valid moves from a given cell.
isCheck(colourId)- Checks whether a given colour (
'w'or'b') is currently in check.
- Checks whether a given colour (
gameEndingStatus(colourId)- Check the game has concluded and the result of the game (
'checkmate','stalemate', orfalse) for a given colour ('w'or'b').
- Check the game has concluded and the result of the game (
points()- Return an object containing points scores for white (
w) and black (b).
- Return an object containing points scores for white (
The following values are given in import gameData:
castling:{ w: { k, q }, b: { k, q } }(each boolean)boardArray(array)enpassantSquare(string or-)moveList(array)logList(array)currentTurn(nullorworb)halfMoveCount(int)moveNumber(int)promotionPiece(char)
Bundle local code for browser use with npm run compile.
Functions are available under window.fenFuncs.