Exemple #1
0
        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));
            }
        }
Exemple #2
0
        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);
        }