FenFurnace
A tool for validating chess piece movement generated from a FEN position.
Install
FenFurnace is available on npm:
npm install fenfurnace
API
Functions
-
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.
-
validation.makeMove(startCell, endCell)
- Attempt to move a piece; returns
false
if invalid.
- 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 (
Variables
The following values are given in import gameData
:
-
castling
:{ w: { k, q }, b: { k, q } }
(each boolean) -
boardArray
(array) -
enpassantSquare
(null
or string) -
moveList
(array) -
currentTurn
(null
or string) -
halfMoveCount
(int) -
moveNumber
(int or string) -
promotionPiece
(string) -
logList
(array)
Build
Build code for browser use using npm run compile
.