Пример #1
0
 /// <summary>
 /// Returns the <see cref="Piece"/> part of a given colored piece.
 /// </summary>
 public static Piece GetPiece(this ColoredPiece coloredPiece)
 => (Piece)((int)coloredPiece % Constants.PieceCount);
Пример #2
0
 /// <summary>
 /// Gets a vector which is true for all squares that contain the given colored piece.
 /// </summary>
 public ulong GetVector(ColoredPiece coloredPiece)
 => GetVector(coloredPiece.GetColor()) & GetVector(coloredPiece.GetPiece());
Пример #3
0
 /// <summary>
 /// Returns the <see cref="Color"/> of a given piece.
 /// </summary>
 public static Color GetColor(this ColoredPiece coloredPiece)
 => (Color)((int)coloredPiece / Constants.PieceCount);
Пример #4
0
 /// <summary>
 /// Enumerates all squares that are occupied by the given colored piece.
 /// </summary>
 public IEnumerable <Square> AllSquaresOccupiedBy(ColoredPiece coloredPiece) => currentPosition.GetVector(coloredPiece).AllSquares();