/*
* =====================================================================================
*
* Filename: AbstractChessGame.h
*
* Description:
*
* Version: 1.0
* Created: 22/02/2011 09:26:12
* Revision: none
* Compiler: gcc
*
* Author: John Ryland (jryland), jryland@xiaofrog.com
* Company: InvertedLogic
*
* =====================================================================================
*/
#ifndef __ABSTRACT_CHESS_GAME_H__
#define __ABSTRACT_CHESS_GAME_H__
#include <AbstractChessBoard.h>
#include <AbstractChessMove.h>
class AbstractChessGameData;
class AbstractChessGame
{
public:
AbstractChessGame();
~AbstractChessGame();
AbstractChessBoard *board();
QList<AbstractChessMove*> moveHistory();
bool whitesMove();
bool blackBeenInCheck();
bool blackKingMoved();
bool blackCanCastle();
bool whiteBeenInCheck();
bool whiteKingMoved();
bool whiteCanCastle();
private:
AbstractChessGameData *d;
};
#endif // __ABSTRACT_CHESS_GAME_H__