Exemplo n.º 1
0
 public int EvaluateEnergyPlus(Food food)
 {
     switch (food.Type)
     {
         case FoodType.Valuable:
             return FoodDigestions[food.Item].EnergyPlus*food.N*2;
         case FoodType.TastyButUseLess:
             return FoodDigestions[food.Item].EnergyPlus*food.N/2;
         case FoodType.Neutral:
             return FoodDigestions[food.Item].EnergyPlus*food.N;
         case FoodType.Harmful:
             return FoodDigestions[food.Item].EnergyPlus*food.N/2;
         default:
             return 0;
     }
 }
Exemplo n.º 2
0
 public FoodReaction GiveFood(Food food)
 {
     return Animal.EatFood(food);
 }
Exemplo n.º 3
0
        public FoodReaction GetFoodReaction(Food food)
        {
            switch (food.Type)
            {
                case FoodType.Valuable:
                    ChangeState(food, 3);
                    return FoodReaction.Alive;

                case FoodType.TastyButUseLess:
                    ChangeState(food, 4);
                    return FoodReaction.Alive;

                case FoodType.Neutral:
                    ChangeState(food, 2);
                    return FoodReaction.Alive;

                case FoodType.Harmful:
                    ChangeState(food, -2);
                    return FoodReaction.Alive;

                case FoodType.Killing:
                    return FoodReaction.Dead;

                default:
                    return FoodReaction.Alive;
            }
        }
Exemplo n.º 4
0
 public void ChangeState(Food food, int happiness)
 {
     TimeSpan timeSpan = new TimeSpan(0, 0,
                    Math.Abs(FoodValueEvaluator.EvaluateEnergyPlus(food) - FoodValueEvaluator.EvaluateEnergyMinus(food)));
     Console.Write("{0}{1} to life", food.Type == FoodType.Harmful ? '-' : '+', timeSpan.TotalSeconds);
     RemainingLifeTime = food.Type == FoodType.Harmful ? RemainingLifeTime.Subtract(timeSpan) : RemainingLifeTime.Add(timeSpan);
     Happiness += HappinessEvaluator.Evaluate(happiness);
 }
Exemplo n.º 5
0
 public FoodReaction EatFood(Food food)
 {
     Console.Write("Animal is eating... ");
     if (GetFoodReaction(food) == FoodReaction.Dead)
     {
         if (RemainingLifeTime.TotalSeconds/RemainingLifeTimeLimit.TotalSeconds < 0.5)
         {
             Console.WriteLine("\n");
             return FoodReaction.Dead;
         }
         Console.Write("Food was refused");
     }
     Console.WriteLine("\n\nAnimal's remaining life time: {0} sec.\n", RemainingLifeTime.TotalSeconds);
     return FoodReaction.Alive;
 }