Exemple #1
0
        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();
 }