This commit is contained in:
2022-12-23 23:57:29 +01:00
parent 87adca7e66
commit cb0fcc4702
14 changed files with 208 additions and 52 deletions

View File

@@ -5,6 +5,8 @@
#include "BitBoard.hpp"
#include "Board.hpp"
#define BB_NUM 8
struct BoardState {
BoardState(const BitBoard (*const pieceBBs)[8],
const BitBoard occupiedBB,
@@ -24,6 +26,17 @@ struct BoardState {
const PieceColor turn;
const CastlingRights cr;
const std::optional<Square> eps;
inline PieceType pieceType(const BitBoard &mask) const {
for (int i = 2; i < BB_NUM; i++) {
if ((*pieceBBs)[i] & mask) {
return static_cast<PieceType>(i);
}
}
// Should not happen
return static_cast<PieceType>(0);
}
};
#endif //CHESS_ENGINE_BOARDSTATE_HPP