Show / Hide Table of Contents

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

UCIEngine.Option.OptionType

In This Article
Back to top Generated by DocFX