//// Includes
////
+#include <string>
+
#include "color.h"
#include "square.h"
#include "value.h"
BP = 9, BN = 10, BB = 11, BR = 12, BQ = 13, BK = 14, PIECE_NONE = 16
};
-ENABLE_OPERATORS_ON(PieceType);
-ENABLE_OPERATORS_ON(Piece);
+ENABLE_OPERATORS_ON(PieceType)
+ENABLE_OPERATORS_ON(Piece)
////
return (c == WHITE ? DELTA_N : DELTA_S);
}
-inline bool piece_type_is_ok(PieceType pc) {
- return pc >= PAWN && pc <= KING;
+inline bool piece_type_is_ok(PieceType pt) {
+ return pt >= PAWN && pt <= KING;
}
-inline bool piece_is_ok(Piece pc) {
- return piece_type_is_ok(type_of_piece(pc)) && color_is_ok(color_of_piece(pc));
+inline bool piece_is_ok(Piece p) {
+ return piece_type_is_ok(type_of_piece(p)) && color_is_ok(color_of_piece(p));
}
+inline char piece_type_to_char(PieceType pt) {
+ return std::string(" PNBRQK")[pt];
+}
-////
-//// Prototypes
-////
-
-extern char piece_type_to_char(PieceType pt, bool upcase = false);
-extern PieceType piece_type_from_char(char c);
-
+inline PieceType piece_type_from_char(char c) {
+ return PieceType(std::string(" PNBRQK").find(c));
+}
#endif // !defined(PIECE_H_INCLUDED)