public INumbersGame CreateDescendent(IOperation op) { var game = new NumbersGame(this); // Deep copy game.DoOperation(op); return(game); }
// Public Copy constructor (deep) public NumbersGame(NumbersGame game) { _numbers.AddRange(game._numbers); _history.AddRange(game._history); Target = game.Target; }