/*
* =====================================================================================
*
* Filename: AbstractChessMove.h
*
* Description:
*
* Version: 1.0
* Created: 22/02/2011 09:11:45
* Revision: none
* Compiler: gcc
*
* Author: John Ryland (jryland), jryland@xiaofrog.com
* Company: InvertedLogic
*
* =====================================================================================
*/
#ifndef __ABSTRACT_CHESS_MOVE_H__
#define __ABSTRACT_CHESS_MOVE_H__
#include <QString>
#include <AbstractChessBoard.h>
class AbstractChessMove
{
public:
AbstractChessMove(AbstractChessBoard *board, ChessBoardPosition before, ChessBoardPosition after, ChessPieceType promotionType = Pawn);
AbstractChessMove(AbstractChessBoard *board, QString notation);
QString notation();
ChessBoardPosition before();
ChessBoardPosition after();
ChessPieceType moved();
ChessPieceType captured();
bool took;
bool castled;
};
#endif // __ABSTRACT_CHESS_MOVE_H__