/*
* =====================================================================================
*
* Filename: AbstractChessBoard.cpp
*
* Description:
*
* Version: 1.0
* Created: 21/02/2011 08:18:15
* Revision: none
* Compiler: gcc
*
* Author: John Ryland (jryland), jryland@xiaofrog.com
* Company: InvertedLogic
*
* =====================================================================================
*/
#include <AbstractChessBoard.h>
AbstractChessBoard::AbstractChessBoard()
{
pieces += new AbstractChessPiece( Rook, White, 0, 0 );
pieces += new AbstractChessPiece( Knight, White, 0, 1 );
pieces += new AbstractChessPiece( Bishop, White, 0, 2 );
pieces += new AbstractChessPiece( Queen, White, 0, 3 );
pieces += new AbstractChessPiece( King, White, 0, 4 );
pieces += new AbstractChessPiece( Bishop, White, 0, 5 );
pieces += new AbstractChessPiece( Knight, White, 0, 6 );
pieces += new AbstractChessPiece( Rook, White, 0, 7 );
for (int i = 0; i < 8; i++) {
pieces += new AbstractChessPiece( Pawn, White, 1, i );
pieces += new AbstractChessPiece( Pawn, Black, 6, i );
}
pieces += new AbstractChessPiece( Rook, Black, 7, 0 );
pieces += new AbstractChessPiece( Knight, Black, 7, 1 );
pieces += new AbstractChessPiece( Bishop, Black, 7, 2 );
pieces += new AbstractChessPiece( Queen, Black, 7, 3 );
pieces += new AbstractChessPiece( King, Black, 7, 4 );
pieces += new AbstractChessPiece( Bishop, Black, 7, 5 );
pieces += new AbstractChessPiece( Knight, Black, 7, 6 );
pieces += new AbstractChessPiece( Rook, Black, 7, 7 );
}
AbstractChessBoard::~AbstractChessBoard()
{
foreach (AbstractChessPiece *piece, pieces)
delete piece;
pieces.clear();
}