27#include "board/result.h"
28#include "board/move.h"
29#include "timecontrol.h"
30#include "gameadjudicator.h"
32namespace Chess {
class Board; }
38class LIB_EXPORT ChessGame :
public QObject
50 bool isFinished()
const;
51 bool boardShouldBeFlipped()
const;
52 void setBoardShouldBeFlipped(
bool flip);
61 void setError(
const QString& message);
63 void setStartingFen(
const QString& fen);
67 bool setMoves(
const PgnGame& pgn);
72 void setStartDelay(
int time);
73 void setBookOwnership(
bool enabled);
75 void generateOpening();
84 void stop(
bool emitMoveChanged =
true);
86 void emitStartFailed();
92 void humanEnabled(
bool);
93 void fenChanged(
const QString& fenString);
97 void moveChanged(
int ply,
101 void scoreChanged(
int ply,
int score);
102 void initialized(ChessGame* game =
nullptr);
103 void started(ChessGame* game =
nullptr);
104 void finished(ChessGame* game =
nullptr,
106 void startFailed(ChessGame* game =
nullptr);
114 void onPlayerReady();
121 void initializePgn();
132 bool m_gameInProgress;
134 bool m_pgnInitialized;
135 bool m_bookOwnership;
136 bool m_boardShouldBeFlipped;
A chess player, human or AI.
Definition chessplayer.h:39
An internal chessboard class.
Definition board.h:58
A chess move independent of chess variant or opening book format.
Definition genericmove.h:35
A small and efficient chessmove class.
Definition move.h:43
The result of a chess game.
Definition result.h:35
The side or color of a chess player.
Definition side.h:36
A class for adjudicating chess games.
Definition gameadjudicator.h:33
Evaluation data for a chess move.
Definition moveevaluation.h:36
A collection of opening moves for chess.
Definition openingbook.h:44
A game of chess in PGN format.
Definition pgngame.h:52
Time controls of a chess game.
Definition timecontrol.h:36