Chess NamespaceDelta Engine Documentation
Classes

  ClassDescription
Public classBoard
Public classBoardEvaluationBasic
Basic board evaluation functionView code on GitHub
Public classBoardSquare
Public classBook
Handle the book opening.View code on GitHub
Public classChessBoard
Implementation of the chess board without any user interface.View code on GitHub
Public classChessException
Chess exceptionView code on GitHub
Public classGame
Public classMoveHistory
Maintains a move history to handle the fifty-move rule and the threefold repetition rule. For the first rules, we just maintains one move count per series of move which doesn't eat a piece or move a pawn. For the second rules, we use two strategies, a fast but unreliable one and a second slower but exact. A. Use two 16KB table of counter address by table[Zobrist key of the board mod 16KB]. Collision can occurs so its only a good indication that the board can be there more than 2 times. B. Keep a compressed representation of the board in an array to be able to count the number of identical boards. View code on GitHub
Public classMovePosStack
Maintains the list of moves which has been done on a board. The undo moves are kept up to when a new move is done.View code on GitHub
Public classProgram
Displays a number of colored moving logo sprites bouncing around. View code on GitHub
Public classSearchEngine
Base class for Search EngineView code on GitHub
Public classSearchEngine SearchMode
Option for the searchView code on GitHub
Public classSearchEngineAlphaBeta
Base class for Search EngineView code on GitHub
Public classSearchEngineMinMax
Base class for Search EngineView code on GitHub
Public classTransTable
Implements a transposition table. Transposition table is used to cache already computed board View code on GitHub
Public classZobristKey
Zobrist key implementation. View code on GitHub
Structures

  StructureDescription
Public structureChessBoard MovePosS
Move descriptionView code on GitHub
Public structureChessBoard PosInfoS
Position information. Positive value for white player, negative value for black player. All these informations are computed before the last move to improve performance. View code on GitHub
Public structureMoveHistory PackedBoard
Packed representation of a board. Each long contains 16 pieces (2 per bytes) View code on GitHub
Interfaces

  InterfaceDescription
Public interfaceIBoardEvaluation
Implements a board evaluation methodsView code on GitHub
Public interfaceSearchEngine ITrace
Interface to implement to do a searchView code on GitHub
Enumerations

  EnumerationDescription
Public enumerationChessBoard BoardStateMaskE
Mask for board extra infoView code on GitHub
Public enumerationChessBoard MoveResultE
Result of a moveView code on GitHub
Public enumerationChessBoard MoveTypeE
Type of possible moveView code on GitHub
Public enumerationChessBoard PieceE
Value of each piece on the board. Each piece is a combination of piece value and color (0 for white, 8 for black)View code on GitHub
Public enumerationChessBoard PlayerColorE
Player color (black and white)View code on GitHub
Public enumerationChessBoard RepeatResultE
Any repetition causing a draw?View code on GitHub
Public enumerationChessBoard ValidPawnPromotionE
List of valid pawn promotionView code on GitHub
Public enumerationSearchEngine SearchMode OptionE
Search optionsView code on GitHub
Public enumerationSearchEngine SearchMode RandomModeE
Public enumerationSearchEngine SearchMode ThreadingModeE
Threading modeView code on GitHub
Public enumerationTransEntryTypeE
Type of transposition entryView code on GitHub