Example #1
0
        public override void Update()
        {
            for (int i = 0; i < this.Houses.Count; i++)
            {
                if (this.Houses[i].ControlledCities.Count() >= 10 && this.Houses[i] is House)
                {
                    GreatHouse temp = new GreatHouse(this.Houses[i].Name, this.Houses[i].TreasuryAmount);
                    foreach (ICity city in this.Houses[i].ControlledCities)
                    {
                        temp.AddCityToHouse(city);
                    }

                    this.Houses[i] = temp;
                }
                else if (this.Houses[i].ControlledCities.Count() < 5 && this.Houses[i] is GreatHouse)
                {
                    House temp = new House(this.Houses[i].Name, this.Houses[i].TreasuryAmount);
                    foreach (ICity city in this.Houses[i].ControlledCities)
                    {
                        temp.AddCityToHouse(city);
                    }

                    this.Houses[i] = temp;
                }
            }

            base.Update();
        }
Example #2
0
        private void UpgradedHouses()
        {
            var housesToGreatHouse =  this.Houses
                .Where(house => !(house is GreatHouse) && house.ControlledCities.Count() >= 10)
                .ToList();

            foreach (var house in housesToGreatHouse)
            {
                var greatHouse = new GreatHouse(house.Name, house.TreasuryAmount, house.ControlledCities);

                this.Houses.Remove(house);
                this.Houses.Add(greatHouse);
            }
        }
Example #3
0
        private void UpgradeHouses()
        {
            var housesToUpgrade = this.Houses
                .Where(h => !(h is GreatHouse) && h.ControlledCities.Count() >= UpgradeHouseNumberOfCitiesThreshold)
                .ToList();

            foreach (var house in housesToUpgrade)
            {
                var greatHouse = new GreatHouse(house.Name, house.TreasuryAmount, house.ControlledCities);

                this.Houses.Remove(house);
                this.Houses.Add(greatHouse);
            }
        }