Example #1
0
/*DONE*/
void ChessXMLSaver::PrintPiecesOnTheBoard(Piece *** board)
{
	//For each cell on the board...
	for(int row = 0; row < NUMROWS; row++)
	{
		for(int col = 0; col < NUMCOLS; col++)
		{
			//Get the piece at this location.
			Piece * p = board[row][col];
			
			//If there isn't a piece there, then don't print a <piece> child.
			if(p == NULL)
			{
				continue;
			}
			//But if there is a piece, print its data to the file.
			file << "\t\t<piece type=\"";
			file << ConvertPieceTypeToString(p->GetType()) << "\" ";
			file << "color=\"";
			file << ConvertPieceColorToString(p->GetColor()) << "\" ";
			file << "row=\"" << row << "\" column=\"" << col << "\"/>" << endl;
		}
	}	
}
Example #2
0
void Board::Print() const {
    bool colour_toggle = false;
    char rank = 8;
    for (; rank >= 1; rank--) {
        std::cout << char('0' + rank) << " ";
        char file = 'A';
        for (; file <= 'H'; file++) {
            Piece p = GetPieceAt(rank, file);
            if (p.GetType() == Piece::None) {
                std::cout << (colour_toggle ? '.' : ' ');

            }
            else {
                std::cout << p.GetText();
            }
            colour_toggle = !colour_toggle;
            std::cout << ' ';
        }
        std::cout << std::endl;
        colour_toggle = !colour_toggle;

    }
    std::cout << "  A B C D E F G H " << std::endl;
}