This repository was archived by the owner on Dec 5, 2024. It is now read-only.
- Notifications
You must be signed in to change notification settings - Fork0
Chess piece movement validator, designed to work entirely from a FEN position.
License
NotificationsYou must be signed in to change notification settings
CarbonChess/FenFurnace
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
A tool for validating chess piece movement generated from a FEN position.
FenFurnace is availableon 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
false
if invalid.IfcompleteMove
isfalse
, 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 importgameData
:
castling
:{ w: { k, q }, b: { k, q } }
(each boolean)boardArray
(array)enpassantSquare
(string or-
)moveList
(array)logList
(array)currentTurn
(null
orw
orb
)halfMoveCount
(int)moveNumber
(int)promotionPiece
(char)
Bundle local code for browser use withnpm run compile
.
Functions are available underwindow.fenFuncs
.
About
Chess piece movement validator, designed to work entirely from a FEN position.