public void Train() { var army = new Army(); army.Add(Unit.Type.Attack, int.Parse(AttackUnits.text)); army.Add(Unit.Type.Defence, int.Parse(DefenceUnits.text)); army.Add(Unit.Type.Speed, int.Parse(SpeedUnits.text)); Base.StartTrain(army); }
public void AddUnits(UnitType unitType, int amount) { if (!Army.ContainsKey(unitType)) { Army.Add(unitType, 0); } Army[unitType] += amount; }
public void AddUnits(UnitType unitType, int amount) { if (!Army.ContainsKey(unitType)) { Army.Add(unitType, 0); } Army[unitType] += amount; OnArmyUpdated(unitType, Army[unitType]); OnUnitsAdded(unitType, amount); }
public void Attack() { var army = new Army(); army.Add(Unit.Type.Attack, int.Parse(AttackUnits.text)); army.Add(Unit.Type.Defence, int.Parse(DefenceUnits.text)); army.Add(Unit.Type.Speed, int.Parse(SpeedUnits.text)); if (!Base.Army.Has(army)) { throw new Exception("You do not have enough units."); } Base.Army.Remove(army); if (!EnemyBase.CanDefendAgainst(army)) { Game.Grid.Remove(EnemyBase); Base.Army.Add(army); Base.Resources.Add(Settings.Battle.VictoryReward); } }
IEnumerable <Army> ArmyPermutations(Army army) { var possibleSpeeds = army.Where(kvp => kvp.Value > 0).Select(kvp => ArmyStats.TravelSpeed[kvp.Key]).Distinct(); foreach (var speed in possibleSpeeds) { var permutation = new Army(); foreach (var unit in army.Where(kvp => ArmyStats.TravelSpeed[kvp.Key] <= speed)) { permutation.Add(unit.Key, unit.Value); } yield return(permutation); } }
private void Train(Base @base) { var count = @base.Resources.Divide(Settings.Train.Price) / 2; var army = new Army(); var price = Settings.Train.Price; price.Multiply(count); army.Add(Unit.Type.Attack, count); if (@base.Resources.IsEnough(price) && @base.Army.Count + army.Count < @base.UnitLimit()) { @base.StartTrain(army); } }
public void Add(string name, string dignity, int salary) { var soldier = new SoldierViewModel(); soldier.Dignity = dignity; soldier.Name = name; soldier.Salary = salary; soldier.PropertyChanged += Soldier_OnNotifyPropertyChanged; soldier.DeleteHandler += Soldier_OnDelete; Soldiers.Add(soldier); SelectedIndex = Soldiers.IndexOf(soldier); army.Add(soldier); }
public void FinishTrain() { foreach (var building in Barracks) { if (!building.Training) { continue; } var units = building.Army; var count = units.Count; var price = Settings.Train.Price.Clone(); price.Multiply(count); Army.Add(units); building.Trained(this); } }
static public void Run() { int armyQuantity = 0; Army army = new Army(); Squad elfSquad = new Squad(Race.elf); Squad minotaurSquad = new Squad(Race.minotaur); Squad centaurSquad = new Squad(Race.centaur); Squad knightSquad = new Squad(Race.knight); Squad orcSquad = new Squad(Race.orc); Squad cyclopsSquad = new Squad(Race.cyclops); Squad cyclopsSquad2 = new Squad(Race.cyclops); Squad elfSquad2 = new Squad(Race.elf); Soldier hydra = new Soldier(Race.hydra); Soldier dragon = new Soldier(Race.dragon); //Создание войс и добавление количества воинов каждой расы в состав армии var orcSoldiers = Enumerable.Range(1, 4).Select(x => new Soldier(Race.orc)); orcSquad.AddAll(orcSoldiers); armyQuantity += Enumerable.Range(1, 4).Select(x => new Soldier(Race.orc)).Count(); var elfSoldiers = Enumerable.Range(1, 12).Select(x => new Soldier(Race.elf)); elfSquad.AddAll(elfSoldiers); armyQuantity += Enumerable.Range(1, 12).Select(x => new Soldier(Race.elf)).Count(); var elfSoldiers2 = Enumerable.Range(1, 6).Select(x => new Soldier(Race.elf)); elfSquad2.AddAll(elfSoldiers2); elfSquad.Add(elfSquad2); armyQuantity += Enumerable.Range(1, 6).Select(x => new Soldier(Race.elf)).Count(); var minotaurSoldiers = Enumerable.Range(1, 5).Select(x => new Soldier(Race.minotaur)); minotaurSquad.AddAll(minotaurSoldiers); armyQuantity += Enumerable.Range(1, 5).Select(x => new Soldier(Race.minotaur)).Count(); var centaurSoldiers = Enumerable.Range(1, 5).Select(x => new Soldier(Race.centaur)); centaurSquad.AddAll(centaurSoldiers); armyQuantity += Enumerable.Range(1, 5).Select(x => new Soldier(Race.centaur)).Count(); var knightSoldiers = Enumerable.Range(1, 20).Select(x => new Soldier(Race.knight)); knightSquad.AddAll(knightSoldiers); armyQuantity += Enumerable.Range(1, 10).Select(x => new Soldier(Race.knight)).Count(); var cyclopsSoldiers = Enumerable.Range(1, 8).Select(x => new Soldier(Race.cyclops)); cyclopsSquad.AddAll(cyclopsSoldiers); armyQuantity += Enumerable.Range(1, 8).Select(x => new Soldier(Race.cyclops)).Count(); var cyclopsSoldiers2 = Enumerable.Range(1, 4).Select(x => new Soldier(Race.cyclops)); cyclopsSquad2.AddAll(cyclopsSoldiers2); cyclopsSquad.Add(cyclopsSquad2); armyQuantity += Enumerable.Range(1, 4).Select(x => new Soldier(Race.cyclops)).Count(); army.Add(hydra); army.Add(dragon); army.Add(elfSquad); army.Add(minotaurSquad); army.Add(centaurSquad); army.Add(knightSquad); army.Add(orcSquad); army.Add(cyclopsSquad); army.Display(); Console.WriteLine("\n\n\tОбщее количество войск : {0} ", armyQuantity); }
public void addToArmy(Unit u) { Army.Add(u); Micro.assignUnit(u); }
static World ConstructNewZealand() { World world = new World(1000, 1000); string[] regions = new string[] { "Hawkes Bay", "Auckland", "New Plymouth", "Wellington", "Nelson", "Marlborough", "Westland", "Canterbury", "Otago", "Southland" }; Random randomNumberGenerator = new Random(); for (int i = 0; i < regions.Length; i++) { string regionName = regions[i]; Region region = new Region(world); world.Regions.Add(region); int tileWidth = randomNumberGenerator.Next(2, 10); int tileHeight = randomNumberGenerator.Next(2, 10); int regionModifier = i * 10; for (int width = 0; width < tileWidth; width++) { for (int height = 0; height < tileHeight; height++) { int tileType = randomNumberGenerator.Next(0, Enum.GetValues(typeof(Tile.TileTypeEnum)).Length); int resourceType = randomNumberGenerator.Next(0, Enum.GetValues(typeof(Tile.ResourceTypeEnum)).Length); Tile tile = new Tile(regionModifier + width, regionModifier + height, (Tile.TileTypeEnum)tileType, (Tile.ResourceTypeEnum)resourceType, region); region.Add(tile); } } } Player playerOne = new Player("Player One"); world.Players.Add(playerOne); Tile tileOne = world.TileGrid[1, 1]; Army armyOne = new Army("armyOne", tileOne, playerOne); tileOne.Add(armyOne); playerOne.Armies.Add(armyOne); int regimentCount = randomNumberGenerator.Next(0, 10); for (int i = 0; i < regimentCount; i++) { Regiment regiment = new Regiment(1000, new UnitType()); armyOne.Add(regiment); } Player playerTwo = new Player("Player Two"); world.Players.Add(playerTwo); Tile tileTwo = world.TileGrid[2, 2]; Army armyTwo = new Army("armyTwo", tileOne, playerTwo); tileTwo.Add(armyTwo); playerTwo.Armies.Add(armyOne); int playerTwoRegimentCount = randomNumberGenerator.Next(0, 10); for (int i = 0; i < playerTwoRegimentCount; i++) { Regiment regiment = new Regiment(1000, new UnitType()); armyOne.Add(regiment); } return(world); }