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; }