private void SoubojDvojice(Bojovnik bojovnik1, Bojovnik bojovnik2) { while (bojovnik1.JeZivy && bojovnik2.JeZivy) { bojovnik1.UtocNa(bojovnik2); bojovnik2.UtocNa(bojovnik1); } if (!bojovnik2.JeZivy) { ZiviBojovnici.Remove(ZiviBojovnici.Find(item => item.Jmeno == bojovnik2.Jmeno)); } else if (!bojovnik1.JeZivy) { ZiviBojovnici.Remove(ZiviBojovnici.Find(item => item.Jmeno == bojovnik1.Jmeno)); } }
public void Boj() { Console.WriteLine("\nZAČÍNÁ BOJ"); bool jeCekatel = false; Bojovnik cekatel = ZiviBojovnici.Last(); while (ZiviBojovnici.Count > 1) { Console.WriteLine("\nStav bojovníků před bojem"); ZobrazStavBojovniku(ZiviBojovnici.OrderBy(o => o.Jmeno).ToList()); if (ZiviBojovnici.Count % 2 == 0) { Rivalove = VytvorDvojice(ZiviBojovnici); jeCekatel = false; } else { cekatel = ZiviBojovnici.Last(); jeCekatel = true; ZiviBojovnici.RemoveAt(ZiviBojovnici.Count - 1); Rivalove = VytvorDvojice(ZiviBojovnici); } foreach (Bojovnik utocnik in Rivalove.Keys) { SoubojDvojice(utocnik, Rivalove[utocnik]); } if (jeCekatel) { ZiviBojovnici.Insert(0, cekatel); } } Console.WriteLine("\nVÍTĚZNÝM BOJOVNÍKEM SE STÁVÁ"); ZobrazStavBojovniku(ZiviBojovnici); }