예제 #1
0
 public override void DoIt(Student student)
 {
     if (student.Gens.FoodHabits == FoodHabitsEnum.FromHome)
     { // I should go home because of food from mum
         student.ToHomeOffset = (student.ToHomeOffset + Settings.Default.homeFood) / 2;
     }
     else
     {
         student.ToHomeOffset = (student.ToHomeOffset + (100 - Settings.Default.homeFood)) / 2;
     }
     if (Core.rn.Next(100) < student.ToHomeOffset)
     {
         student.ToHomeOffset    /= 3;
         student.Points.Positive += 5;
         if (student.Gens.LearningHabits == LearningHabitsEnum.Continuous)
         {
             student.Log("I travel to home and learn to school");
             CommonTasks.GainKnowlidge(student, Settings.Default.timeToHome * 2, Core.KNOWLADGE_PER_ACADEMIC_HOUR);
         }
         else
         {
             student.Log("I go home");
             CommonTasks.GainEnergy(student, Settings.Default.timeToHome * 2);
         }
     }
 }
예제 #2
0
        public override void DoIt(Student student)
        {
            int time = 0;

            while (student.KnowladgePercentage < 100 && time < MaxDuration)
            {
                CommonTasks.GainKnowlidge(student, 1, Core.KNOWLADGE_PER_ACADEMIC_HOUR);
                time++;
                if (student.Gens.LerningPreferences == LerningPreferencesEnum.EasyGoing)
                {
                    student.Points.Negative += 5;
                }
            }
            switch (time)
            {
            case 0:
                student.Log("I know everything, I don't need to learn");
                break;

            case 1:
                student.Log("I have to learn something");
                break;

            case 2:
                student.Log("I have to learn many things to school");
                break;

            default:
                throw new NotImplementedException();
            }
        }
예제 #3
0
 public override void DoIt(Student student)
 {
     student.Log("I'm learning for test");
     while (student.Knowladge < amount && student.PosibilityToLern > Settings.Default.coefGiveUp)
     {
         student.Points.Negative++;
         CommonTasks.GainKnowlidge(student, 1, Core.KNOWLADGE_PER_ACADEMIC_HOUR);
         student.Learned = true;
     }
 }
예제 #4
0
        public override void DoIt(Student student)
        {
            double amount;

            switch (student.Gens.SchoolAtention)
            {
            case SchoolAtentionEnum.Active:
                student.Log($"I go to school {duration} h");
                student.Points.Positive += duration;
                amount = Settings.Default.coefSchoolActive;
                student.RemainingTime--;     // Traveling
                break;

            case SchoolAtentionEnum.Pasive:
                student.Log($"I go to school {duration} h, but I don't pay much attention");
                amount = Settings.Default.coefSchoolPasive;
                student.RemainingTime--;     // Traveling
                break;

            case SchoolAtentionEnum.No:
                student.Log("I won't go to school");
                switch (student.Gens.LerningPreferences)
                {
                case LerningPreferencesEnum.Challenging:
                    student.Points.Negative += duration;
                    break;

                case LerningPreferencesEnum.Normal:
                    student.Points.Negative += duration / 2;
                    break;
                }
                amount = 0;
                break;

            default:
                throw new NotImplementedException();
            }
            CommonTasks.GainKnowlidge(student, duration, amount);
            student.BestKnowledge += (int)Core.KNOWLADGE_PER_ACADEMIC_HOUR * duration;
        }
예제 #5
0
 public override void DoIt(Student student)
 {
     student.Log("Learning");
     CommonTasks.GainKnowlidge(student, duration, amount);
 }