Cute Chess  0.1
Public Member Functions | List of all members
GameAdjudicator Class Reference

A class for adjudicating chess games. More...

#include <gameadjudicator.h>

Public Member Functions

void addEval (const Chess::Board *board, const MoveEvaluation &eval)
 
 GameAdjudicator ()
 
void resetDrawMoveCount ()
 
Chess::Result result () const
 
void setDrawThreshold (int moveNumber, int moveCount, int score)
 
void setMaximumGameLength (int moveCount)
 
void setResignThreshold (int moveCount, int score, bool twoSided=false)
 
void setTablebaseAdjudication (bool enable)
 

Detailed Description

A class for adjudicating chess games.

The GameAdjudicator class can be used to adjudicate chess games when the probability of a specific result is high enough.

Constructor & Destructor Documentation

GameAdjudicator::GameAdjudicator ( )

Creates a new game adjudicator.

By default all adjudication is disabled.

Member Function Documentation

void GameAdjudicator::addEval ( const Chess::Board board,
const MoveEvaluation eval 
)

Adds a new move evaluation to the adjudicator.

board should be at the position that follows the move. eval should be the evaluation of the move.

result() can be called after this function to find out if the game should be adjudicated.

void GameAdjudicator::resetDrawMoveCount ( )

Sets draw move count to 0.

Chess::Result GameAdjudicator::result ( ) const

Returns the adjudication result.

This function returns the expected result of the game. If the game can't be adjudicated yet, a null result is returned.

void GameAdjudicator::setDrawThreshold ( int  moveNumber,
int  moveCount,
int  score 
)

Sets the draw adjudication threshold for each game.

A game will be adjudicated as a draw if both players report a score that's within score centipawns from zero for at least moveCount consecutive moves, and at least moveNumber full moves have been played.

void GameAdjudicator::setMaximumGameLength ( int  moveCount)

Limits the number of moves playable in a game.

A game will be adjudicated as a draw when the number of moves played exceeds the limit given by moveCount. The limit is not in action if set to zero.

void GameAdjudicator::setResignThreshold ( int  moveCount,
int  score,
bool  twoSided = false 
)

Sets the resign adjudication threshold for each game.

A game will be adjudicated as a loss for the player that made the last move if it reports a score that's at least score centipawns below zero for at least moveCount consecutive moves. Beyond that the score of the winning side must be at least score centipawns above zero if twoSided is true (default: false).

void GameAdjudicator::setTablebaseAdjudication ( bool  enable)

Sets tablebase adjudication to enable.

If enable is true then games are adjudicated if the latest position is found in the tablebases.


The documentation for this class was generated from the following files: