В своем классе Board создайте коллекцию фигур, как вы делали для квадратов.См. Метод CreatePieces () ниже:
#include <iostream>
#include <memory>
using namespace std;
enum PIECETYPE { KING, QUEEN, ROOK, BISHOP, KNIGHT, PAWN };
enum COLOR { BLACK, WHITE };
enum RANK { A, B, C, D, E, F, G, H };
class Square
{
public:
explicit Square() { }
private:
//COLOR color;
//RANK rank;
//int file;
};
class Piece
{
public:
explicit Piece(PIECETYPE typ, COLOR clr) : type(typ), color(clr) { }
private:
PIECETYPE type;
COLOR color;
Square* pSquare{ nullptr };
};
class Board
{
public:
explicit Board()
{
CreatePieces();
// Set the pieces in their proper location, etc.
}
private:
Square squares[8][8];
vector<Piece> pieces;
inline void CreatePieces()
{
pieces.emplace_back(Piece(KING, WHITE));
pieces.emplace_back(Piece(KING, BLACK));
// etc. for 30 other pieces
}
};
int main()
{
unique_ptr<Board> board = make_unique<Board>();
getchar();
}