Example #1
0
void Board::SetPieceAtIndex(Piece &piece, signed char index) {
    if (piece.GetColour() == Piece::White) {
        for (Piece &p :m_White) {
            if (p.GetBoardIndex() == piece.GetBoardIndex()) {
                p.SetBoardIndex(index);
            }
        }

        for (Piece &p :m_Black) {
            if (p.GetBoardIndex() == index) {
                p.SetBoardIndex(127);
            }
        }
    }

    if (piece.GetColour() == Piece::Black) {
        for (Piece &p :m_Black) {
            if (p.GetBoardIndex() == piece.GetBoardIndex()) {
                p.SetBoardIndex(index);
            }
        }

        for (Piece &p :m_White) {
            if (p.GetBoardIndex() == index) {
                p.SetBoardIndex(127);
            }
        }
    }
}