public IBoard ApplyChange(BoardChange change) { // Check if no change is about to happen. In that case just return the same board since it is immutable. if (this.Matrix[change.X, change.Y] == change.NewValue) { return(this); } CellState[, ]? newMatrix = CloneMatrix(this.Matrix); newMatrix[change.X, change.Y] = change.NewValue; return(new Board(this.TopRules, this.LeftRules, newMatrix)); }
public IBoard ApplyChange(BoardChange change) { throw new NotImplementedException(); }