Namespace PonzianiComponents.Chesslib
Classes
Chess
This class contains static methods useful when dealing with chess
ChessbaseCommenter
Formats the PGN output the way chessbase (resp. DGT) does. http://www.enpassant.dk/chess/palview/enhancedpgn.htm
CutechessCommenter
Formats the PGN output the way cutechess does
Eco
Class representing ECO codes to classify opening positions
ExtendedMove
Represents a move with additional information attached to it
Fen
This class provides constants and static functions to manage FEN strings (see https://chessprogramming.wikispaces.com/Forsyth-Edwards+Notation)
Game
Representation of a chess game
Move
Representation of a Chess Move
PGN
Represents a http://www.saremba.de/chessgml/standards/pgn/pgn-complete.htmPGN (portable game notation) file.
Position
This class represents a position in standard chess
TimeControl
Class reprsenting time control settings of a game
TimeControl.Entry
Single TimeControl
UCIEngine
Interface to a chess engine supporting UCI protocol
The class allows to implement the GUI part of the UCI protocol manually by using method SendToEngineAsync(String) to send commands to the engine process and event OnEngineOutput to receive messages
Nevertheless the recommended way is to use the more comfortable methods, which this class offers like AnalyzeAsync(String, TimeSpan, Dictionary<String, String>, List<Move>) or StartThinkingAsync(Nullable<TimeSpan>, Nullable<TimeSpan>, Nullable<TimeSpan>, Nullable<TimeSpan>, Int32, Int32, Int64, Boolean, List<Move>)
Game game = PGN.Parse(pathToPGN)[0];
using (UCIEngine engine = new UCIEngine(enginePath))
{
ExtendedMove move = engine.AnalyseAsync(game, TimeSpan.FromMilliseconds(100), 25, Side.BLACK).Result;
Console.WriteLine($"Evaluation: {move.Evaluation}");
}
UCIEngine.EngineException
UCIEngine.EngineInfoEventArgs
Event Arguments for the OnEngineInfoChanged event
UCIEngine.EngineOutputEventArgs
Event Arguments for the OnEngineOutput event
UCIEngine.Option
Represents an engine option
UCIEngine.OptionCheck
Option, which can be represented as checkbox in a GUI
UCIEngine.OptionCombo
Multi-value engine option (represented by a combo box in a GUI)
UCIEngine.OptionSpin
An integer engine option
UCIEngine.OptionString
Option for a string field (represented by a text box in a GUI)
Structs
DetailedResult
The detailed result, containing the information about the game's outcome
UCIEngine.Info
Information, sent by the engine during analyzing
Interfaces
IPGNOutputFormatter
Allows to extend the PGN output by custom comments
Enums
CastleFlag
Castling Options
Piece
Enumeration for the different Pieces
PieceType
The Piece Types
Result
Possible outcomes of a chess game
ResultDetail
More detailed info about game result
Side
Side or Color
Square
Square of a standard chess board. Ponziani uses "Little-Endian Rank-File Mapping" (see https://chessprogramming.wikispaces.com/Square+Mapping+Considerations).
UCIEngine.Info.EvaluationType
Evaluation Type
Evaluation might not always be exact. Sometimes engines output a lower or a upper bound only