dev: formatting fixes, additional Piece logic and properties, etc
This commit is contained in:
parent
cc37d834fe
commit
b0afa6cd78
7 changed files with 295 additions and 21 deletions
33
Piece.hpp
33
Piece.hpp
|
|
@ -51,6 +51,9 @@ class Piece {
|
|||
friend class Board;
|
||||
protected:
|
||||
PieceColour colour;
|
||||
PieceType pieceType;
|
||||
std::string pieceName;
|
||||
char pieceSymbol;
|
||||
bool hasMoved = false;
|
||||
|
||||
public:
|
||||
|
|
@ -63,6 +66,18 @@ public:
|
|||
PieceColour getColour() const {
|
||||
return colour;
|
||||
}
|
||||
|
||||
std::string getPieceName() const {
|
||||
return pieceName;
|
||||
}
|
||||
|
||||
char getPieceSymbol() const {
|
||||
return pieceSymbol;
|
||||
}
|
||||
|
||||
PieceType getPieceType() const {
|
||||
return pieceType;
|
||||
}
|
||||
|
||||
bool checkIfMoved() const {
|
||||
return hasMoved;
|
||||
|
|
@ -74,6 +89,9 @@ class King : public Piece {
|
|||
public:
|
||||
|
||||
King(PieceColour colour) : Piece(colour) {
|
||||
pieceName = "King";
|
||||
pieceSymbol = 'K';
|
||||
pieceType = KING;
|
||||
}
|
||||
virtual std::vector<Move> getLegalMoves(const Square &from, const Board &board) const override;
|
||||
|
||||
|
|
@ -94,6 +112,9 @@ class Rook : public Piece {
|
|||
public:
|
||||
|
||||
Rook(PieceColour colour) : Piece(colour) {
|
||||
pieceName = "Rook";
|
||||
pieceSymbol = 'R';
|
||||
pieceType = ROOK;
|
||||
}
|
||||
virtual std::vector<Move> getLegalMoves(const Square &from, const Board &board) const override;
|
||||
};
|
||||
|
|
@ -103,6 +124,9 @@ class Queen : public Piece {
|
|||
public:
|
||||
|
||||
Queen(PieceColour colour) : Piece(colour) {
|
||||
pieceName = "Queen";
|
||||
pieceSymbol = 'Q';
|
||||
pieceType = QUEEN;
|
||||
}
|
||||
virtual std::vector<Move> getLegalMoves(const Square &from, const Board &board) const override;
|
||||
};
|
||||
|
|
@ -112,6 +136,9 @@ class Knight : public Piece {
|
|||
public:
|
||||
|
||||
Knight(PieceColour colour) : Piece(colour) {
|
||||
pieceName = "Knight";
|
||||
pieceSymbol = 'N';
|
||||
pieceType = KNIGHT;
|
||||
}
|
||||
virtual std::vector<Move> getLegalMoves(const Square &from, const Board &board) const override;
|
||||
};
|
||||
|
|
@ -121,6 +148,9 @@ class Bishop : public Piece {
|
|||
public:
|
||||
|
||||
Bishop(PieceColour colour) : Piece(colour) {
|
||||
pieceName = "Bishop";
|
||||
pieceSymbol = 'B';
|
||||
pieceType = BISHOP;
|
||||
}
|
||||
virtual std::vector<Move> getLegalMoves(const Square &from, const Board &board) const override;
|
||||
};
|
||||
|
|
@ -130,6 +160,9 @@ class Pawn : public Piece {
|
|||
public:
|
||||
|
||||
Pawn(PieceColour colour) : Piece(colour) {
|
||||
pieceName = "Pawn";
|
||||
pieceSymbol = 'P';
|
||||
pieceType = PAWN;
|
||||
}
|
||||
virtual std::vector<Move> getLegalMoves(const Square &from, const Board &board) const override;
|
||||
};
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue