public void Fight(ref SoldierBehavior soldier1, ref SoldierBehavior soldier2) { int s1x = 1; int s2x = 1; if (soldier1.GetName() == "AirforceSoldierBehavior") { s1x = 5; } if (soldier2.GetName() == "AirforceSoldierBehavior") { s2x = 5; } if (soldier1.GetName() == "NavyforceSoldierBehavior") { s1x = 0; } if (soldier2.GetName() == "NavyforceSoldierBehavior") { s2x = 0; } var whoShoots = new Random(); if (whoShoots.Next(1, 100) % 2 == 0) { soldier1.Attak(ref soldier2, s1x); } else { soldier2.Attak(ref soldier1, s2x); } }
public void StartWar(IGameLogicStrategy gameLogicStrategy) { Iterator nIterator = naziArmy.army.CreateIterator(); Iterator rIterator = redArmy.army.CreateIterator(); while (Counter.LiveCounter(naziArmy.army) > 1 && Counter.LiveCounter(redArmy.army) > 1) { Item nItem = nIterator.First(); Item rItem = rIterator.First(); while (!nIterator.IsDone || !rIterator.IsDone) { if (!nIterator.IsDone) { if (nItem.Soldier.GetName().StartsWith("DeadSoldierBehavior")) { nItem = nIterator.Next(); } } if (!rIterator.IsDone) { if (rItem.Soldier.GetName().StartsWith("DeadSoldierBehavior")) { rItem = rIterator.Next(); } } if (nIterator.IsDone) { break; } if (rIterator.IsDone) { break; } SoldierBehavior n = nItem.Soldier; SoldierBehavior r = rItem.Soldier; gameLogicStrategy.Fight(ref n, ref r); nItem.Soldier = n; rItem.Soldier = r; nItem = nIterator.Next(); rItem = rIterator.Next(); } } int natziLives = Counter.LiveCounter(naziArmy.army); int redLives = Counter.LiveCounter(redArmy.army); Console.WriteLine("-----------------------------"); if (natziLives < redLives) { redArmy.Outfights(naziArmy); } else { naziArmy.Outfights(redArmy); } Console.WriteLine("-----------------------------"); }
public Item(SoldierBehavior soldier) { this.soldier = soldier; }