我正在编写一个 C++ 国际象棋游戏。我有一个抽象类 Piece 和继承它的类。类 Piece 具有纯虚拟方法,可以返回所有可能的移动。但是我对棋子位置有问题,因为每个玩家的棋子只能移动前进,但在棋盘(这是棋子的矩阵)中,每个玩家的前进似乎都不同。如何为棋子实现possibleMoves()?谢谢!
class Piece
{
public:
Piece(std::string, char verticalPosition, char horizontalPosition);
virtual std::pair<char,char>* possibleMoves() const = 0;
virtual ~Piece();
protected:
std::string name;
std::pair <char,char> initPosition;
std::pair <char,char> currPosition;
};