Skip to content

Commit

Permalink
Fixed multi move issue
Browse files Browse the repository at this point in the history
  • Loading branch information
mbluemer committed Apr 24, 2017
1 parent 4047018 commit fdd007a
Show file tree
Hide file tree
Showing 2 changed files with 7 additions and 10 deletions.
2 changes: 1 addition & 1 deletion include/BitBoard.h
Original file line number Diff line number Diff line change
Expand Up @@ -75,7 +75,7 @@ class BitBoard

public:
BitBoard();
BitBoard(uint32_t black, uint32_t white, uint32_t kings);
BitBoard(uint32_t black, uint32_t white, uint32_t kings, bool isBlacksTurn);
BitBoard(const BitBoard &board);

uint32_t getBlackPieces() { return m_blackPieces; };
Expand Down
15 changes: 6 additions & 9 deletions src/BitBoard.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -126,16 +126,16 @@ BitBoard BitBoard::boardMove(BitBoard &board, uint32_t piece, uint32_t moveTo) c
if (board.m_isBlacksTurn) {
if (diff == 2 || diff == 14) white &= ~(1<<avg);
black = (black | moveTo) & ~piece;
kings = kings | (black & blackKingSpots);
kings |= (black & blackKingSpots);
} else {
if (diff == 2 || diff == 14) black = black & ~(1<<avg);
if (diff == 2 || diff == 14) black &= ~(1<<avg);
white = (white | moveTo) & ~piece;
kings = kings | (white & whiteKingSpots);
kings |= (white & whiteKingSpots);
}

if (piece & kings) kings = moveTo | (kings & ~piece);

return BitBoard(black, white, kings);
return BitBoard(black, white, kings, board.m_isBlacksTurn);
}

std::vector<uint32_t> BitBoard::generateImmediateJumps(BitBoard &board, uint32_t piece) const
Expand Down Expand Up @@ -200,11 +200,8 @@ std::string BitBoard::pieceToString(int piece) const

BitBoard::BitBoard() {};

BitBoard::BitBoard(uint32_t black, uint32_t white, uint32_t kings) :
m_blackPieces(black), m_whitePieces(white), m_kings(kings)
{
m_isBlacksTurn = true;
}
BitBoard::BitBoard(uint32_t black, uint32_t white, uint32_t kings, bool isBlacksTurn) :
m_blackPieces(black), m_whitePieces(white), m_kings(kings), m_isBlacksTurn(isBlacksTurn) {}

BitBoard::BitBoard(const BitBoard &board)
{
Expand Down

0 comments on commit fdd007a

Please sign in to comment.