示例#1
0
        private IMeal GetMeal(IEnumerable <DietaryReferenceIntake> dris, IEnumerable <Food> foods)
        {
            var meal = MealFactory.GetMeal(dris, new FoodIntake[0]);

            meal.Fill(foods);

            return(meal);
        }
示例#2
0
        static void Main(string[] args)
        {
            var mealFactory = new MealFactory();

            mealFactory.PrintMeals();

            var mediumBurgerMeal = mealFactory.GetMeal("Burger Meal");

            mediumBurgerMeal.Serve("medium");
            var mediumPizzaMeal = mealFactory.GetMeal("Pizza Meal");

            mediumPizzaMeal.Serve("medium");

            var largeBurgerMeal = mealFactory.GetMeal("Burger Meal");

            largeBurgerMeal.Serve("large");
            var largePizzaMeal = mealFactory.GetMeal("Pizza Meal");

            largePizzaMeal.Serve("large");

            mealFactory.PrintMeals();
        }
示例#3
0
        private IMeal FillChildKnapsack(IEnumerable <DietaryReferenceIntake> maxWeight, IEnumerable <FoodIntake> firstFoodIntakes, IEnumerable <FoodIntake> secondFoodIntakes, IEnumerable <Food> foods)
        {
            var child = MealFactory.GetMeal(maxWeight, firstFoodIntakes);

            foreach (var item in secondFoodIntakes)
            {
                var random = MyRandom.Next(0, 1);
                if (random < 0.8)
                {
                    child.AddFoodIntake(item);
                }
            }

            if (child.FoodIntakesCount == 0)
            {
                child.Fill(foods);
            }

            return(child);
        }