Example #1
0
        public CuttedPizza Cut(Pizza pizza)
        {
            var cuttedPizza = new CuttedPizza(pizza);

            for (var col = 0; col < pizza.Width; col++)
            {
                for (var row = 0; row < pizza.Height; row++)
                {
                    if (!PizzaValidator.PieceValidate(row, col, cuttedPizza))
                    {
                        continue;
                    }
                    var slices = GetAllSugestSlices(pizza, row, col);
                    var slice  = ChooseSlice(slices, cuttedPizza);
                    if (slice != null)
                    {
                        cuttedPizza.AddSlice(slice);
                        row = slice.Coords.RowEnd;
                    }
                }
                var progress = (float)col / pizza.Width * 100;
                Console.WriteLine($"Pregress {progress}%");
            }
            return(cuttedPizza);
        }
 public PizzaService(PizzaValidator pizzaValidator)
 {
     _pizzaValidator = pizzaValidator;
 }