h$'$      !"#  Safe-Inferred $%&'( Safe-InferredB  hchesslibCoordinate format:  (rank, file) (0,0) (0,7) +---> file | | v rank (7,0) (7,7) - +-------+-------+-------+-------+-------+-------+-------+-------+ 8 | (0,0) | (0,1) | (0,2) | (0,3) | (0,4) | (0,5) | (0,6) | (0,7) | +-------+-------+-------+-------+-------+-------+-------+-------+ 7 | (1,0) | (1,1) | (1,2) | (1,3) | (1,4) | (1,5) | (1,6) | (1,7) | +-------+-------+-------+-------+-------+-------+-------+-------+ 6 | (2,0) | (2,1) | (2,2) | (2,3) | (2,4) | (2,5) | (2,6) | (2,7) | +-------+-------+-------+-------+-------+-------+-------+-------+ 5 | (3,0) | (3,1) | (3,2) | (3,3) | (3,4) | (3,5) | (3,6) | (3,7) | +-------+-------+-------+-------+-------+-------+-------+-------+ 4 | (4,0) | (4,1) | (4,2) | (4,3) | (4,4) | (4,5) | (4,6) | (4,7) | +-------+-------+-------+-------+-------+-------+-------+-------+ 3 | (5,0) | (5,1) | (5,2) | (5,3) | (5,4) | (5,5) | (5,6) | (5,7) | +-------+-------+-------+-------+-------+-------+-------+-------+ 2 | (6,0) | (6,1) | (6,2) | (6,3) | (6,4) | (6,5) | (6,6) | (6,7) | +-------+-------+-------+-------+-------+-------+-------+-------+ 1 | (7,0) | (7,1) | (7,2) | (7,3) | (7,4) | (7,5) | (7,6) | (7,7) | +-------+-------+-------+-------+-------+-------+-------+-------+ a b c d e f g h )*+,-./0123456789:;<=>?@ABC Safe-Inferred)DEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghi Safe-Inferredjkl Safe-Inferredmnopqr  Safe-Inferred0 stuvwxyz{|}~Miika-Petteri Matikainen 2014GPL-2miikapetteri@gmail.com experimentalunknown Safe-Inferred! hchesslib,Write the current game state as FEN notation hchesslib"Parse game state from FEN notationMiika-Petteri Matikainen 2014GPL-2miikapetteri@gmail.com experimentalunknown Safe-Inferred @  hchesslibHas the game ended in checkmate hchesslibHas the game ended in stalemate hchesslibIs the game draw? I.e. is the game stalemate or is the game draw by insufficient material. hchesslib%Returns the winner of the game if any hchesslibIs the given move legal. The only supported move format at the moment is coordinate notation. hchesslibMake a move. The only supported move format at the moment is coordinate notation. hchesslibCurrent board state in the game hchesslibGet initial game state hchesslib%Get the piece at the given coordinate hchesslib1Full move number. Incremented after black's move.  hchesslib#Get all legal moves in the position! hchesslib Apply a move hchesslib4Move in coordinate notation. E.g. "e2-e4" or "b1-c3" hchesslib4Move in coordinate notation. E.g. "e2-e4" or "b1-c3" hchesslibSquare coordinate. E.g. "e4"   !   !Miika-Petteri Matikainen 2021GPL-2miikapetteri@gmail.com experimentalunknown Safe-Inferred" hchesslibPrints the board in ASCII.$Example for the initial position: @8 | r | n | b | q | k | b | n | r | +---+---+---+---+---+---+---+---+ 7 | p | p | p | p | p | p | p | p | +---+---+---+---+---+---+---+---+ 6 | | | | | | | | | +---+---+---+---+---+---+---+---+ 5 | | | | | | | | | +---+---+---+---+---+---+---+---+ 4 | | | | | | | | | +---+---+---+---+---+---+---+---+ 3 | | | | | | | | | +---+---+---+---+---+---+---+---+ 2 | P | P | P | P | P | P | P | P | +---+---+---+---+---+---+---+---+ 1 | R | N | B | Q | K | B | N | R | +---+---+---+---+---+---+---+---+ a b c d e f g h @# hchesslibPrints the move in coordinate notation. E.g. "e2-e4", "g1-g3", "b2-c1q""#"#     !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrst)u v w x y z { | } ~    (hchesslib-0.2.0.0-GRP28N24wUI8haz7Ey9zA4Chess Chess.FENChess.UIChess.Internal.PieceChess.Internal.BoardChess.Internal.MoveChess.Internal.NotationChess.Internal.GameChess.Internal.FEN PieceTypePawnKnightBishopRookQueenKingColorWhiteBlackPieceBoard CoordinatesSquareEmptyMove GameState currentPlayerwriteFENreadFEN isCheckmate isStalemateisDrawwinner isLegalMovemoveboardnewGamepieceAtfullMoveNumber legalMoves applyMove printBoardcoordinateNotationopponent pieceChars printPiece parsePieceparsePieceType initialBoard emptyBoardprintBoardCompact isInsideBoardparseCoordinateprintCoordinate movePieceaddPiece removePiecegetPieceisEmptyisOpponentSquareparseBoardCompactfirstPieceInSquareListiterateDirectionInsideBoard sumSquares getKingSquare rookPattern bishopPattern queenPattern knightPatternisSquareThreatenedisCheckgetSquaresWithOwnergetSquaresWithPiecesgetPlayerPiecesgetSquareColor MoveError WrongPlayer WrongPiece InvalidMoveInCheckInvalidCoordinates CastlingTypeShortLongMovementCaptureCastling EnPassant PromotionPawnDoubleMoveState stateBoardwhiteCastlingsPossibleblackCastlingsPossibleenPassantSquare halfmoveClock moveNumber initialStategenerateAllMoves isMoveErrorisCorrectStartPieceisRightPlayerMoveareCoordinatesValidgenerateAllRookMovesgenerateAllBishopMovesgenerateAllQueenMovesgenerateAllKnightMovesgenerateAllKingMovesgenerateAllPawnMovesiterateMovementSquaresiterateDirectiongenerateAllPotentialMovesboardAfterMove parseMoveparseCoordinateNotation"parseCoordinateStringWithPromotionisInsufficientMaterial getWinner writeBoard writePlayerwriteCastlingswriteEnPassant readBoard readPlayer readCastlingsreadCastlings' readEnPassantreadNumberWithLimit readMaybesplit