/// <summary> /// Used to set one position equal to another. /// </summary> /// <param name="position"></param> public void copy(ChessPosition position) { Board = position.Board; King = position.King; Queens = position.Queens; Rooks = position.Rooks; Bishops = position.Bishops; Knights = position.Knights; Pawns = position.Pawns; RotatedR90 = position.RotatedR90; RotatedL90 = position.RotatedL90; RotatedA1H8 = position.RotatedA1H8; RotatedA8H1 = position.RotatedA8H1; Pinning = position.Pinning; Pinned = position.Pinned; Enpasant = position.Enpasant; canCastleKingside = position.canCastleKingside; canCastleQueenside = position.canCastleQueenside; Color = position.Color; isKingInCheck = position.isKingInCheck; isKingMated = position.isKingMated; isKingStaleMated = position.isKingStaleMated; }
/// <summary> /// A copy constructor used for cloning a position. /// </summary> /// <param name="position"></param> public ChessPosition(ChessPosition position) { copy(position); }