示例#1
0
        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);
        }
示例#2
0
        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);
        }
示例#3
0
 public long GetBitBoard(BitBoardIndex index)
 {
     return(bitBoardArray[(int)index]);
 }
示例#4
0
        private bool GetBitValue(BitBoardIndex bitBoard, int index)
        {
            bool bit = (bitBoardArray[(int)bitBoard] & ((long)1 << index)) != 0;

            return(bit);
        }
示例#5
0
        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);
        }