Home Types Core Functions PGN Functions WinForms
Core Chess Functions
Game Result
The following Game Result related functions are provided in the module Result:
| Function | Type | Description |
|---|---|---|
| ToStr | GameResult -> string | Gets the string matching the Game Result |
| ToUnicode | GameResult -> string | Gets the unicode string matching the Game Result |
Game Date
The following Date related functions are provided in the module GameDate:
| Function | Type | Description |
|---|---|---|
| ToStr | Game -> string | Gets the string which represents the date of the Game |
Square
The following Square related functions are provided in the module Square:
| Function | Type | Description |
|---|---|---|
| ToFile | Square -> File | Gets the File for a Square |
| ToRank | Square -> Rank | Gets the Rank for a Square |
| Name | Square -> string | Gets the Name for a Square |
Piece
The following Piece related functions are provided in the module Piece:
| Function | Type | Description |
|---|---|---|
| ToStr | Piece -> string | Gets the string symbol for a Piece |
| ToPlayer | Piece -> Player | Gets the player for a Piece |
Board
The following Board related functions are provided in the module Board:
| Function | Type | Description |
|---|---|---|
| FromStr | string -> Brd | Create a new Board given a FEN string |
| ToStr | Brd -> string | Create a FEN string from this Board |
| Start | Brd | The starting Board at the beginning of a game |
| AllMoves | Brd -> Move list | Gets all legal moves for this Board |
| PossMoves | Brd -> Square -> Move list | Gets all possible moves for this Board from the specified Square |
| Push | Move -> Brd -> Brd | Make an encoded Move for this Board and return the new Board |
| PushSAN | string -> Brd -> Brd | Make a SAN Move such as Nf3 for this Board and return the new Board |
| IsCheck | Brd -> bool | Is there a check on the Board |
| IsCheckMate | Brd -> bool | Is the current position on the Board checkmate? |
| IsStaleMate | Brd -> bool | Is the current position on the Board stalemate? |
| SquareAttacked | Square -> Player -> Brd -> bool | Is the Square attacked by the specified Player for this Board |
| SquareAttackers | Square -> Player -> Brd -> bool | The Squares that attack the specified Square by the specified Player for this Board |
| ToPng | string -> bool -> Brd -> unit | Creates a PNG image ith specified name, flipped if specified for the given Board |
| Brd -> unit | Prints an ASCII version of this Board |
Move
The following Move related functions are provided in the module Move:
| Function | Type | Description |
|---|---|---|
| From | Move -> Square | Get the source Square for an encoded Move |
| To | Move -> Square | Get the target Square for an encoded Move |
| PromPcTp | Move -> PieceType | Get the promoted PieceType for an encoded Move |
| FromSan | Brd -> string -> Move | Get an encoded move from a SAN string such as Nf3 for this Board |
| FromUci | Brd -> string -> Move | Get an encoded move from a UCI string such as g1f3 for this Board |
| ToUci | Move -> string | Get the UCI string such as g1f3 for a move |
| TopMove | Brd -> Move -> pMove | Get the pMove for a move for this board |
| ToSan | Brd -> Move -> string | Get the SAN string such as Nf3 for a move for this board |
Game
The following Game related functions are provided in the module Game:
| Function | Type | Description |
|---|---|---|
| Start | Game | The starting Game with no moves |
| PushSAN | string -> Game -> Game | Make a SAN Move such as Nf3 for this Game and return the new Game |
| Pop | Game -> Game | Pops a move of the end for this Game and return the new Game |
| MoveStr | MoveTextEntry -> string | Gets a single move as a string given one of the list from Game.MoveText |
| NAGStr | NAG -> string | Gets a NAG as a string such as ?? given one from the list in Game.MoveText |
| NAGFromStr | string -> NAG | Gets a NAG from a string such as ?? |
| NAGHtm | NAG -> string | Gets a NAG as HTML such as ?? given one from the list in Game.MoveText |
| NAGDesc | NAG -> string | Gets a NAG as a description such as Very Good given one of the list from Game.MoveText |
| NAGlist | NAG list | Gets a list of all NAGs supported |
| AddNag | Game -> int list -> NAG -> Game | Adds a Nag in the Game after the address provided |
| DeleteNag | Game -> int list -> Game | Deletes a Nag in the Game at the address provided |
| EditNag | Game -> int list -> NAG -> Game | Edits a Nag in the Game at the address provided |
| MovesStr | MoveTextEntry list -> string | Gets the moves text as a string given the Game.MoveText |
| GetaMoves | Game -> Game | Gets the aMoves for the Game |
| AddMv | Game -> int list -> pMove -> Game * int list | Adds a pMove to the Game given its address |
| AddRav | Game -> int list -> pMove -> Game * int list | Adds a RAV to the Game given the pMove is contains and its address |
| DeleteRav | Game -> int list -> Game | Deletes a RAV in the Game at the address provided |
| CommentBefore | Game -> int list -> string -> Game | Adds a comment to the Game before the address provided |
| CommentAfter | Game -> int list -> string -> Game | Adds a comment to the Game after the address provided |
| EditComment | Game -> int list -> string -> Game | Edits a comment to the Game at the address provided |
| DeleteComment | Game -> int list -> Game | Deletes a comment in the Game at the address provided |
Stockfish
The following Stockfish related functions are provided in the module Stockfish:
| Function | Type | Description |
|---|---|---|
| GetBestMove | Brd * int -> float * string | Get the scrore and best move for current Board to the specified depth |