28#include "board/move.h"
29#include "timecontrol.h"
31#include "gameadjudicator.h"
32#include "tournamentplayer.h"
33#include "tournamentpair.h"
265 int bookDepth = 256);
403 virtual void addScore(
int player,
int score);
419 void startNextGame();
420 bool writePgn(
PgnGame* pgn,
int gameNumber);
444 GameManager* m_gameManager;
445 ChessGame* m_lastGame;
452 int m_nextGameNumber;
453 int m_finishedGameCount;
454 int m_savedGameCount;
455 int m_finalGameCount;
456 int m_gamesPerEncounter;
457 int m_roundMultiplier;
462 int m_openingRepetitions;
463 OpeningPolicy m_openingPolicy;
466 bool m_pgnWriteUnfinishedGames;
468 bool m_bookOwnership;
469 GameAdjudicator m_adjudicator;
470 OpeningSuite* m_openingSuite;
473 QTextStream m_pgnOut;
475 QTextStream m_epdOut;
477 int m_repetitionCounter;
480 TournamentPair* m_pair;
481 QMap< QPair<int, int>, TournamentPair* > m_pairs;
482 QList<TournamentPlayer> m_players;
483 QMap<int, PgnGame> m_pgnGames;
484 QMap<ChessGame*, GameData*> m_gameData;
485 QVector<Chess::Move> m_openingMoves;
Definition chessgame.h:39
The side or color of a chess player.
Definition side.h:36
A class for adjudicating chess games.
Definition gameadjudicator.h:33
A class for managing chess games and players.
Definition gamemanager.h:41
A collection of opening moves for chess.
Definition openingbook.h:44
A suite of chess openings.
Definition openingsuite.h:41
A game of chess in PGN format.
Definition pgngame.h:52
PgnMode
Definition pgngame.h:56
@ Verbose
Use additional data like extra tags and comments.
Definition pgngame.h:60
A class for constructing new chess players.
Definition playerbuilder.h:39
A Sequential Probability Ratio Test.
Definition sprt.h:33
Time controls of a chess game.
Definition timecontrol.h:36
A single encounter in a tournament.
Definition tournamentpair.h:32
A class for storing a player's tournament-specific details.
Definition tournamentplayer.h:29
Base class for chess tournaments.
Definition tournament.h:45
void setStartDelay(int delay)
Definition tournament.cpp:216
virtual QString results() const
Definition tournament.cpp:741
void start()
Definition tournament.cpp:693
void gameFinished(ChessGame *game, int number, int whiteIndex, int blackIndex)
Tournament(GameManager *gameManager, QObject *parent)
Definition tournament.cpp:34
void setOpeningDepth(int plies)
Definition tournament.cpp:238
int finalGameCount() const
Definition tournament.cpp:146
void setSite(const QString &site)
Definition tournament.cpp:181
void setRoundMultiplier(int factor)
Definition tournament.cpp:209
int currentRound() const
Definition tournament.cpp:126
void setName(const QString &name)
Definition tournament.cpp:176
int roundMultiplier() const
Definition tournament.cpp:136
virtual QString type() const =0
int gamesInProgress() const
Definition tournament.cpp:198
int playerIndex(ChessGame *game, Chess::Side side) const
Definition tournament.cpp:444
virtual void initializePairing()=0
virtual bool areAllGamesFinished() const
Definition tournament.cpp:335
void gameStarted(ChessGame *game, int number, int whiteIndex, int blackIndex)
void setAdjudicator(const GameAdjudicator &adjudicator)
Definition tournament.cpp:227
void setVariant(const QString &variant)
Definition tournament.cpp:186
void stop()
Definition tournament.cpp:721
GameManager * gameManager() const
Definition tournament.cpp:96
void setPgnCleanupEnabled(bool enabled)
Definition tournament.cpp:263
virtual void onFinished()
Definition tournament.cpp:686
QString name() const
Definition tournament.cpp:111
int finishedGameCount() const
Definition tournament.cpp:141
QString errorString() const
Definition tournament.cpp:106
void setGamesPerEncounter(int count)
Definition tournament.cpp:203
void setOpeningPolicy(OpeningPolicy policy=DefaultPolicy)
Definition tournament.cpp:282
QString variant() const
Definition tournament.cpp:121
const TournamentPlayer & playerAt(int index) const
Definition tournament.cpp:151
void setSeedCount(int seedCount)
Definition tournament.cpp:243
int seedCount() const
Definition tournament.cpp:161
void setRecoveryMode(bool recover)
Definition tournament.cpp:222
void setOpeningSuite(OpeningSuite *suite)
Definition tournament.cpp:232
void addPlayer(PlayerBuilder *builder, const TimeControl &timeControl, const OpeningBook *book=nullptr, int bookDepth=256)
Definition tournament.cpp:297
void setOpeningRepetitions(int count)
Definition tournament.cpp:277
int gamesPerEncounter() const
Definition tournament.cpp:131
TournamentPair * currentPair() const
Definition tournament.cpp:308
virtual TournamentPair * nextPair(int gameNumber)=0
bool isFinished() const
Definition tournament.cpp:101
void setPgnWriteUnfinishedGames(bool enabled)
Definition tournament.cpp:258
virtual bool hasGauntletRatingsOrder() const
Definition tournament.cpp:340
OpeningPolicy
Definition tournament.h:51
@ EncounterPolicy
Shift on new encounter.
Definition tournament.h:53
@ DefaultPolicy
Shift on repetition count and on new encounter.
Definition tournament.h:52
@ RoundPolicy
Shift on new round.
Definition tournament.h:54
int playerCount() const
Definition tournament.cpp:156
Sprt * sprt() const
Definition tournament.cpp:166
QString site() const
Definition tournament.cpp:116
void setPgnOutput(const QString &fileName, PgnGame::PgnMode mode=PgnGame::Verbose)
Definition tournament.cpp:248
void setSwapSides(bool enabled)
Definition tournament.cpp:287
void startGame(TournamentPair *pair)
Definition tournament.cpp:345
virtual void addScore(int player, int score)
Definition tournament.cpp:570
virtual void onGameAboutToStart(ChessGame *game, const PlayerBuilder *white, const PlayerBuilder *black)
Definition tournament.cpp:435
void setEpdOutput(const QString &fileName)
Definition tournament.cpp:268
void setOpeningBookOwnership(bool enabled)
Definition tournament.cpp:292
virtual int gamesPerCycle() const =0
void setCurrentRound(int round)
Definition tournament.cpp:192
TournamentPair * pair(int player1, int player2)
Definition tournament.cpp:313
virtual bool canSetRoundMultiplier() const
Definition tournament.cpp:171