diff --git a/include/BitBoard.h b/include/BitBoard.h index 4f05f20..c2625df 100644 --- a/include/BitBoard.h +++ b/include/BitBoard.h @@ -4,6 +4,7 @@ #include #include #include +#include #include "Move.h" class BitBoard @@ -68,6 +69,7 @@ class BitBoard int h8() const; int h9() const; int h10() const; + int const getIndex(uint32_t piece); void addJumps(std::vector &moves); @@ -76,6 +78,7 @@ class BitBoard BitBoard boardMove(BitBoard &board, uint32_t piece, uint32_t moveTo); std::vector generateImmediateJumps(uint32_t piece); void addNewMove(uint32_t start, uint32_t end, std::vector &moves); + std::string pieceToString(int piece); public: BitBoard(); diff --git a/src/BitBoard.cpp b/src/BitBoard.cpp index 9f9ea33..06f72ce 100644 --- a/src/BitBoard.cpp +++ b/src/BitBoard.cpp @@ -45,7 +45,8 @@ void BitBoard::addJumps(std::vector &moves) } } -void BitBoard::addNormalMoves(std::vector &moves) { +void BitBoard::addNormalMoves(std::vector &moves) +{ uint32_t notOcc = ~(m_whitePieces|m_blackPieces); for (int i = 0; i < 32; ++i) { uint32_t piece; @@ -162,6 +163,16 @@ void BitBoard::addNewMove(uint32_t start, uint32_t end, std::vector &moves moves.push_back(newMove); } +std::string BitBoard::pieceToString(int piece) +{ + uint32_t pieceLoc = 1< const BitBoard::actions() return moves; } -BitBoard const BitBoard::result(Move move) { +BitBoard const BitBoard::result(Move move) +{ BitBoard currBoard = *this; int start; for (int x : move.getMoves()) { @@ -201,3 +213,15 @@ BitBoard const BitBoard::result(Move move) { } return currBoard; } + +void const BitBoard::printState() +{ + std::cout<<"-"<