Exemplo n.º 1
0
        public int GetWorkAbility(ArchitectureWorkKind workKind)
        {
            switch (workKind)
            {
                case ArchitectureWorkKind.无:
                    return 0;

                case ArchitectureWorkKind.赈灾 :
                    return this.zhenzaiAbility;

                case ArchitectureWorkKind.农业:
                    return this.AgricultureAbility;

                case ArchitectureWorkKind.商业:
                    return this.CommerceAbility;

                case ArchitectureWorkKind.技术:
                    return this.TechnologyAbility;

                case ArchitectureWorkKind.统治:
                    return this.DominationAbility;

                case ArchitectureWorkKind.民心:
                    return this.MoraleAbility;

                case ArchitectureWorkKind.耐久:
                    return this.EnduranceAbility;

                case ArchitectureWorkKind.训练:
                    return this.TrainingAbility;
            }
            return 0;
        }
Exemplo n.º 2
0
        //大概是选择在冒泡小窗口说话的人
        public Person GetExtremePersonFromWorkingList(ArchitectureWorkKind workKind, bool highest)
        {
            PersonList agricultureWorkingPersons = null;
            int num2;
            int num3;
            int workAbility;
            switch (workKind)
            {
                case ArchitectureWorkKind.赈灾:
                    agricultureWorkingPersons = this.ZhenzaiWorkingPersons;
                    break;
                case ArchitectureWorkKind.训练:
                    agricultureWorkingPersons = this.TrainingWorkingPersons;
                    break;
                case ArchitectureWorkKind.农业:
                    agricultureWorkingPersons = this.AgricultureWorkingPersons;
                    break;

                case ArchitectureWorkKind.商业:
                    agricultureWorkingPersons = this.CommerceWorkingPersons;
                    break;

                case ArchitectureWorkKind.技术:
                    agricultureWorkingPersons = this.TechnologyWorkingPersons;
                    break;

                case ArchitectureWorkKind.统治:
                    agricultureWorkingPersons = this.DominationWorkingPersons;
                    break;

                case ArchitectureWorkKind.民心:
                    agricultureWorkingPersons = this.MoraleWorkingPersons;
                    break;

                case ArchitectureWorkKind.耐久:
                    agricultureWorkingPersons = this.EnduranceWorkingPersons;
                    break;

                default:
                    return null;
            }
            if (agricultureWorkingPersons.Count == 0)
            {
                return null;
            }
            if (agricultureWorkingPersons.Count == 1)
            {
                return (agricultureWorkingPersons[0] as Person);
            }
            if (highest)
            {
                int num = 0;
                num2 = 0;
                for (num3 = 0; num3 < agricultureWorkingPersons.Count; num3++)
                {
                    workAbility = (agricultureWorkingPersons[num3] as Person).GetWorkAbility(workKind);
                    if (workAbility > num)
                    {
                        num = workAbility;
                        num2 = num3;
                    }
                }
                return (agricultureWorkingPersons[num2] as Person);
            }
            int num5 = 0x7fffffff;
            num2 = 0;
            for (num3 = 0; num3 < agricultureWorkingPersons.Count; num3++)
            {
                workAbility = (agricultureWorkingPersons[num3] as Person).GetWorkAbility(workKind);
                if (workAbility < num5)
                {
                    num5 = workAbility;
                    num2 = num3;
                }
            }
            return (agricultureWorkingPersons[num2] as Person);
        }
Exemplo n.º 3
0
 public WorkRate(float r, ArchitectureWorkKind k)
 {
     this.rate = r;
     this.workKind = k;
 }
Exemplo n.º 4
0
 private void assignWork(Person p, ArchitectureWorkKind k, bool[] need, bool needOnlyOneDomination, bool needOnlyOneMorale, bool needOnlyOneTrain)
 {
     switch (k)
     {
         case ArchitectureWorkKind.农业:
             if (need[0]) p.WorkKind = ArchitectureWorkKind.农业;
             else p.WorkKind = ArchitectureWorkKind.无;
             break;
         case ArchitectureWorkKind.商业:
             if (need[1]) p.WorkKind = ArchitectureWorkKind.商业;
             else p.WorkKind = ArchitectureWorkKind.无;
             break;
         case ArchitectureWorkKind.技术:
             if (need[2]) p.WorkKind = ArchitectureWorkKind.技术;
             else p.WorkKind = ArchitectureWorkKind.无;
             break;
         case ArchitectureWorkKind.统治:
             if (need[3])
             {
                 p.WorkKind = ArchitectureWorkKind.统治;
                 if (needOnlyOneDomination) // 因为补充导致的统治下降1或2点时,只需要选择1个武将进行统治就足够了
                     need[3] = false;
             }
             else p.WorkKind = ArchitectureWorkKind.无;
             break;
         case ArchitectureWorkKind.民心:
             if (need[4])
             {
                 p.WorkKind = ArchitectureWorkKind.民心;
                 if (needOnlyOneMorale) // 因为补充导致的民心下降1或2点时,只需要选择1个武将进行民心就足够了
                     need[4] = false;
             }
             else p.WorkKind = ArchitectureWorkKind.无;
             break;
         case ArchitectureWorkKind.耐久:
             if (need[5]) p.WorkKind = ArchitectureWorkKind.耐久;
             else p.WorkKind = ArchitectureWorkKind.无;
             break;
         case ArchitectureWorkKind.训练:
             if (need[6])
             {
                 p.WorkKind = ArchitectureWorkKind.训练;
                 if (needOnlyOneTrain) // 因为补充导致的士气或战意下降1或2点时,只需要选择1个武将进行训练就足够了
                     need[6] = false;
             }
             else p.WorkKind = ArchitectureWorkKind.无;
             break;
         default:
             p.WorkKind = ArchitectureWorkKind.无;
             break;
     }
 }
Exemplo n.º 5
0
        public void AddPersonToWorkingList(Person person, ArchitectureWorkKind workKind)
        {
            switch (workKind)
            {
                case ArchitectureWorkKind.赈灾 :
                    this.AddPersonTozhenzaiWorkingList(person);
                    break;
                case ArchitectureWorkKind.农业:
                    this.AddPersonToAgricultureWorkingList(person);
                    break;

                case ArchitectureWorkKind.商业:
                    this.AddPersonToCommerceWorkingList(person);
                    break;

                case ArchitectureWorkKind.技术:
                    this.AddPersonToTechnologyWorkingList(person);
                    break;

                case ArchitectureWorkKind.统治:
                    this.AddPersonToDominationWorkingList(person);
                    break;

                case ArchitectureWorkKind.民心:
                    this.AddPersonToMoraleWorkingList(person);
                    break;

                case ArchitectureWorkKind.耐久:
                    this.AddPersonToEnduranceWorkingList(person);
                    break;
            }
        }
Exemplo n.º 6
0
        public void resetPreferredWorkkind(bool[] need)
        {
            this.firstPreferred = ArchitectureWorkKind.无;
            int firstAbility = 0;
            int agricultureAbility = (need[0] ? this.AgricultureAbility : -2);
            int commerceAbility = (need[1] ? this.CommerceAbility : -2);
            int technologyAbility = (need[2] ? this.TechnologyAbility : -2);
            int dominationAbility = (need[3] ? this.DominationAbility : -2);
            int moraleAbility = (need[4] ? this.MoraleAbility : -2);
            int enduranceAbility = (need[5] ? this.EnduranceAbility : -2);
            int trainingAbility = (need[6] ? this.TrainingAbility : -2);

            if (agricultureAbility > firstAbility)
            {
                this.firstPreferred = ArchitectureWorkKind.农业;
                firstAbility = agricultureAbility;
            }
            if (commerceAbility > firstAbility)
            {
                this.firstPreferred = ArchitectureWorkKind.商业;
                firstAbility = commerceAbility;
            }
            if (technologyAbility > firstAbility)
            {
                this.firstPreferred = ArchitectureWorkKind.技术;
                firstAbility = technologyAbility;
            }
            if (dominationAbility > firstAbility)
            {
                this.firstPreferred = ArchitectureWorkKind.统治;
                firstAbility = dominationAbility;
            }
            if (moraleAbility > firstAbility)
            {
                this.firstPreferred = ArchitectureWorkKind.民心;
                firstAbility = moraleAbility;
            }
            if (enduranceAbility > firstAbility)
            {
                this.firstPreferred = ArchitectureWorkKind.耐久;
                firstAbility = enduranceAbility;
            }
            if (trainingAbility > firstAbility)
            {
                this.firstPreferred = ArchitectureWorkKind.训练;
                firstAbility = trainingAbility;
            }
        }