예제 #1
0
        public static void Main()
        {
            FoodFactory foodFactory = new FoodFactory();
            MoodFactory moodFactory = new MoodFactory();

            List <Food> foods = new List <Food>();

            string[] foodArgs = Console.ReadLine()
                                .Split(new[] { ' ' }, StringSplitOptions.RemoveEmptyEntries);

            int noFood = 0;

            foreach (string foodName in foodArgs)
            {
                Food food = foodFactory.CreateFood(foodName);

                if (food != null)
                {
                    foods.Add(food);
                }

                else
                {
                    noFood++;
                }
            }

            int happiness = foods.Sum(f => f.Hapiness) - noFood;

            string moodName;

            if (happiness < -5)
            {
                moodName = "Angry";
            }

            else if (happiness >= -5 && happiness <= 0)
            {
                moodName = "Sad";
            }

            else if (happiness >= 1 && happiness <= 15)
            {
                moodName = "Happy";
            }

            else
            {
                moodName = "JavaScript";
            }

            Mood moodType = moodFactory.CreateMood(moodName);

            Console.WriteLine(happiness);

            Console.WriteLine(moodType.GetType().Name);
        }
예제 #2
0
        static void Main(string[] args)
        {
            List <Food> foodsEaten  = new List <Food>();
            FoodFactory foodFactory = new FoodFactory();
            MoodFactory moodFactory = new MoodFactory();

            string[] foods = Console.ReadLine().Split();

            foreach (var food in foods)
            {
                Food foodToAdd = foodFactory.GetFood(food);

                foodsEaten.Add(foodToAdd);
            }

            int happinesFood = foodsEaten
                               .Select(x => x == null ? -1 : x.Happiness)
                               .Sum();

            Mood happinesMood = moodFactory.GetMood(happinesFood);

            Console.WriteLine(happinesFood);
            Console.WriteLine(happinesMood.GetType().Name);
        }
예제 #3
0
        public override string ToString()
        {
            Mood mood = this.GetMentalCondition();

            return($"{this.hapinessPoints}{Environment.NewLine}{mood.GetType().Name}");
        }