//Army public void Show(ArmyClass army) { string ArmyShow = ""; foreach (UnitStack u in army.Description) { //unit string stats; stats = $"Name: {u.minion.Type}\n" + $"HP: {u.minion.HitPoints}\n" + $"Attack: {u.minion.Attack}\n" + $"Damage: {u.minion.MinDamage} - {u.minion.MaxDamage}\n" + $"Defence: {u.minion.Defence}\n" + $"Initiative: {u.minion.Initiative}\n"; // ArmyShow = ArmyShow + $"///{u.minion.Type}:{u.Amount}///\n" + $"{stats}\n"; } if (ArmyShow == "") { Console.WriteLine("Empty army"); } else { Console.WriteLine(ArmyShow); } }
public BattleArmy(ArmyClass CrusadeArmy) { Log log = Log.getInstance(); log.sb.AppendLine("CREATE ARMY"); foreach (UnitStack u in CrusadeArmy.Description) { Add(new BattleUnitStack(u)); } }
public Battle(ArmyClass initBLUE, ArmyClass initRED) { Log log = Log.getInstance(); log.sb.AppendLine($"Begin construction of battle"); BLUE = new BattleArmy(initBLUE); foreach (BattleUnitStack u in BLUE.Description) { u.setID(setID); setID = setID + 1; u.setSide("BLUE"); u.setCounter(1); u.setIsWaited(0); u.setSpell(u.minion.HasSpell); } log.sb.AppendLine($"Blue army created"); RED = new BattleArmy(initRED); foreach (BattleUnitStack u in RED.Description) { u.setID(setID); setID = setID + 1; u.setSide("RED"); u.setCounter(1); u.setIsWaited(0); u.setSpell(u.minion.HasSpell); } log.sb.AppendLine($"Red army created"); SaveBLUE = initBLUE; SaveRED = initRED; ArmyQueue.AddRange(BLUE.Description); ArmyQueue.AddRange(RED.Description); ArmyQueue.Sort(Compare); effect = new EffectTool(ArmyQueue, this); log.sb.AppendLine($"Start game loop"); GameLoop(); log.sb.AppendLine($"Change armies"); ChangeArmies(); }
static void Main() { Log log = Log.getInstance(); string name; int number; string StrNumber; Writer writer = new Writer(); List <string> list = writer.ListOfUnits(); bool isNumeric; bool CorrectName; log.sb.AppendLine("Initialise units"); List <UnitStack> BlueStack = new List <UnitStack>(); Console.WriteLine("Blue, make an army"); for (int i = 0; i < 6; i++) { CorrectName = false; Console.WriteLine($"now in army:{i} stacks"); Console.WriteLine("Write a name of a minion or \"quit\" to end "); name = Console.ReadLine(); if (name == "quit") { if (i == 0) { Console.WriteLine("Please, at least 1 stack"); i = i - 1; continue; } break; } foreach (string s in list) { if (s.ToUpper() == name.ToUpper()) { CorrectName = true; } } if (CorrectName == false) { Console.WriteLine("Incorrect name, plase try again"); i = i - 1; continue; } Console.WriteLine("Now write amount"); StrNumber = Console.ReadLine(); isNumeric = int.TryParse(StrNumber, out number); if ((number <= 0) || (number > 999999) || (isNumeric != true)) { Console.WriteLine("Incorrect number, please try again"); i = i - 1; continue; } BlueStack.Add(new UnitStack(name, number)); } Console.Clear(); writer.ListOfUnits(); List <UnitStack> RedStack = new List <UnitStack>(); Console.WriteLine("Red turn to make army"); for (int i = 0; i < 6; i++) { CorrectName = false; Console.WriteLine($"now in army:{i} stacks"); Console.WriteLine("Write a name of a minion or \"quit\" to end "); name = Console.ReadLine(); if (name == "quit") { if (i == 0) { Console.WriteLine("Please, at least 1 stack"); i = i - 1; continue; } break; } foreach (string s in list) { if (s.ToUpper() == name.ToUpper()) { CorrectName = true; } } if (CorrectName == false) { Console.WriteLine("Incorrect name, plase try again"); i = i - 1; continue; } Console.WriteLine("Now write amount"); StrNumber = Console.ReadLine(); isNumeric = int.TryParse(StrNumber, out number); if (((number <= 0) || (number > 999999)) && (isNumeric != true)) { Console.WriteLine("Incorrect number, please try again"); i = i - 1; continue; } RedStack.Add(new UnitStack(name, number)); } ArmyClass RedArmy = new ArmyClass(BlueStack); ArmyClass BlueArmy = new ArmyClass(RedStack); Battle GAME = new Battle(BlueArmy, RedArmy); writer.ShowLog(); Console.WriteLine("Blue army"); writer.Show(BlueArmy); Console.WriteLine("REd army"); writer.Show(RedArmy); Console.ReadKey(); }