public EPieceType BitBoardIndexToEPieceType(BitBoardIndex index) { if ((index == BitBoardIndex.BLACK_PAWN) || (index == BitBoardIndex.WHITE_PAWN)) { return(EPieceType.Pawn); } else if ((index == BitBoardIndex.BLACK_ROOK) || (index == BitBoardIndex.WHITE_ROOK)) { return(EPieceType.Rook); } else if ((index == BitBoardIndex.BLACK_BISHOP) || (index == BitBoardIndex.WHITE_BISHOP)) { return(EPieceType.Bishop); } else if ((index == BitBoardIndex.BLACK_KNIGHT) || (index == BitBoardIndex.WHITE_KNIGHT)) { return(EPieceType.Knight); } else if ((index == BitBoardIndex.BLACK_QUEEN) || (index == BitBoardIndex.WHITE_QUEEN)) { return(EPieceType.Queen); } else if ((index == BitBoardIndex.BLACK_KING) || (index == BitBoardIndex.WHITE_KING)) { return(EPieceType.King); } return(EPieceType.None); }
public void Print(BitBoardIndex bitBoard) { string result = ""; for (int idx = 0; idx != 64; idx++) { if (idx == 4 || idx == 8 || idx == 12 || idx == 16 || idx == 20 || idx == 24 || idx == 28 || idx == 32 || idx == 36 || idx == 40 || idx == 44 || idx == 48 || idx == 52 || idx == 56 || idx == 60 || idx == 64) { result += "\n"; } result += GetBitValue(bitBoard, idx).ToString() + " ¦ "; } Debug.Log(result); }
public long GetBitBoard(BitBoardIndex index) { return(bitBoardArray[(int)index]); }
private bool GetBitValue(BitBoardIndex bitBoard, int index) { bool bit = (bitBoardArray[(int)bitBoard] & ((long)1 << index)) != 0; return(bit); }
public void SetBitValue(BitBoardIndex bitBoard, int index, bool state) { long tmpBoardValue = bitBoardArray[(int)bitBoard]; bitBoardArray[(int)bitBoard] = (state) ? tmpBoardValue | ((long)1 << index) : tmpBoardValue & ~((long)1 << index); }