[Piece] Format

This commit is contained in:
2022-12-18 17:25:08 +01:00
parent 1bbb8a71d9
commit 4bf3f2cec4
2 changed files with 22 additions and 28 deletions

View File

@@ -2,7 +2,7 @@
#include <ostream> #include <ostream>
Piece::Piece(PieceColor color, PieceType type) : _color(color), _type(type) { Piece::Piece(PieceColor color, PieceType type) : mColor(color), mType(type) {
} }
Piece::Optional Piece::fromSymbol(char symbol) { Piece::Optional Piece::fromSymbol(char symbol) {
@@ -12,37 +12,30 @@ Piece::Optional Piece::fromSymbol(char symbol) {
auto tryType = static_cast<PieceType>(toupper(symbol)); auto tryType = static_cast<PieceType>(toupper(symbol));
switch (tryType) { switch (tryType) {
case PieceType::Pawn: case PieceType::Pawn:type = PieceType::Pawn;
type = PieceType::Pawn; break;
break; case PieceType::Knight:type = PieceType::Knight;
case PieceType::Knight: break;
type = PieceType::Knight; case PieceType::Bishop:type = PieceType::Bishop;
break; break;
case PieceType::Bishop: case PieceType::Rook:type = PieceType::Rook;
type = PieceType::Bishop; break;
break; case PieceType::Queen:type = PieceType::Queen;
case PieceType::Rook: break;
type = PieceType::Rook; case PieceType::King:type = PieceType::King;
break; break;
case PieceType::Queen: default:return std::nullopt;
type = PieceType::Queen;
break;
case PieceType::King:
type = PieceType::King;
break;
default:
return std::nullopt;
} }
return Piece(color, type); return Piece(color, type);
} }
PieceColor Piece::color() const { PieceColor Piece::color() const {
return _color; return mColor;
} }
PieceType Piece::type() const { PieceType Piece::type() const {
return _type; return mType;
} }
bool operator==(const Piece &lhs, const Piece &rhs) { bool operator==(const Piece &lhs, const Piece &rhs) {

View File

@@ -20,9 +20,6 @@ enum class PieceType {
class Piece { class Piece {
const PieceColor _color;
const PieceType _type;
public: public:
using Optional = std::optional<Piece>; using Optional = std::optional<Piece>;
@@ -33,10 +30,14 @@ public:
PieceColor color() const; PieceColor color() const;
PieceType type() const; PieceType type() const;
private:
const PieceColor mColor;
const PieceType mType;
}; };
bool operator==(const Piece& lhs, const Piece& rhs); bool operator==(const Piece &lhs, const Piece &rhs);
std::ostream& operator<<(std::ostream& os, const Piece& piece); std::ostream &operator<<(std::ostream &os, const Piece &piece);
// Invert a color (White becomes Black and vice versa) // Invert a color (White becomes Black and vice versa)
PieceColor operator!(PieceColor color); PieceColor operator!(PieceColor color);