[BitBoard] Add castlingMoves
This commit is contained in:
11
BitBoard.cpp
11
BitBoard.cpp
@@ -53,6 +53,17 @@ BitBoard BitBoard::kingAttacks(const BitBoard kings) {
|
|||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
BitBoard BitBoard::castlingMoves(BitBoard kings, BitBoard rooks, BitBoard empty) {
|
||||||
|
kings |= (kings.east() | kings.west()) & empty;
|
||||||
|
kings |= (kings.east() | kings.west()) & empty;
|
||||||
|
kings |= kings.west() & empty;
|
||||||
|
rooks |= (rooks.east() | rooks.west()) & empty;
|
||||||
|
rooks |= (rooks.east() | rooks.west()) & empty;
|
||||||
|
rooks |= (rooks.east()) & empty;
|
||||||
|
|
||||||
|
return kings & rooks & CastlingSquares;
|
||||||
|
}
|
||||||
|
|
||||||
BitBoard BitBoard::bishopAttacks(BitBoard bishops, BitBoard empty) {
|
BitBoard BitBoard::bishopAttacks(BitBoard bishops, BitBoard empty) {
|
||||||
BitBoard result = 0;
|
BitBoard result = 0;
|
||||||
BitBoard diag1 = bishops;
|
BitBoard diag1 = bishops;
|
||||||
|
@@ -108,6 +108,7 @@ public:
|
|||||||
|
|
||||||
static BitBoard bishopAttacks(BitBoard pos, BitBoard empty);
|
static BitBoard bishopAttacks(BitBoard pos, BitBoard empty);
|
||||||
static BitBoard kingAttacks(BitBoard kings);
|
static BitBoard kingAttacks(BitBoard kings);
|
||||||
|
static BitBoard castlingMoves(BitBoard kings, BitBoard rooks, BitBoard empty);
|
||||||
|
|
||||||
static BitBoard pawnNorthAttacks(BitBoard pawns, BitBoard targets);
|
static BitBoard pawnNorthAttacks(BitBoard pawns, BitBoard targets);
|
||||||
static BitBoard pawnSouthAttacks(BitBoard pawns, BitBoard targets);
|
static BitBoard pawnSouthAttacks(BitBoard pawns, BitBoard targets);
|
||||||
|
Reference in New Issue
Block a user