示例#1
0
        public void AddPiece(EPieceType pieceType, Square square, Player side)
        {
            var piece = pieceType.MakePiece(side);

            BoardPieces[piece.AsInt()] |= square;
            OccupiedBySide[side.Side]  |= square;
            BoardLayout[square.AsInt()] = piece;

            if (!IsProbing)
            {
                PieceUpdated?.Invoke(piece, square);
            }
        }
示例#2
0
 public BitBoard Pieces(EPieceType type1, EPieceType type2, Player side) => BoardPieces[type1.MakePiece(side).AsInt()] | BoardPieces[type2.MakePiece(side).AsInt()];
示例#3
0
 public BitBoard Pieces(EPieceType type, Player side) => BoardPieces[type.MakePiece(side).AsInt()];
示例#4
0
 public BitBoard Pieces(EPieceType type) => BoardPieces[type.MakePiece(PlayerExtensions.White).AsInt()] | BoardPieces[type.MakePiece(PlayerExtensions.Black).AsInt()];