/*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; } } }
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; }