Exemple #1
0
        public virtual void Utoc(Bojovnik souper) //virtual = lze ji v potomkovi přepsat, jinak to není možné
        {
            int uder = utok + kostka.hod();

            NastavZpravu(String.Format("{0} útočí s úderem za {1} hp", jmeno, uder));
            souper.BranSe(uder);
        }
Exemple #2
0
        public void Zapas()
        {
            // původní pořadí
            Bojovnik b1 = bojovnik1;
            Bojovnik b2 = bojovnik2;

            Console.WriteLine("Vítejte v aréně!");
            Console.WriteLine("Dnes se utkají {0} s {1}! \n", bojovnik1, bojovnik2);
            // prohození bojovníků
            bool zacinaBojovnik2 = (kostka.hod() <= kostka.VratPocetSten() / 2);

            if (zacinaBojovnik2)
            {
                b1 = bojovnik2;
                b2 = bojovnik1;
            }
            Console.WriteLine("Začínat bude bojovník {0}! \nZápas může začít...", b1);
            Console.ReadKey();
            // cyklus s bojem
            while (b1.Nazivu() && b2.Nazivu())
            {
                b1.Utoc(b2);
                Vykresli();
                VypisZpravu(b1.VratPosledniZpravu()); // zpráva o útoku
                VypisZpravu(b2.VratPosledniZpravu()); // zpráva o obraně
                if (b2.Nazivu())
                {
                    b2.Utoc(b1);
                    Vykresli();
                    VypisZpravu(b2.VratPosledniZpravu()); // zpráva o útoku
                    VypisZpravu(b1.VratPosledniZpravu()); // zpráva o obraně
                }
                Console.WriteLine();
            }
        }
Exemple #3
0
        static void Main(string[] args)
        {
            // vytvoření
            Kostka sestistenna  = new Kostka();
            Kostka desetistenna = new Kostka(10);

            //Console.WriteLine(sestistenna.VratPocetSten());
            //Console.WriteLine("{0}\n",desetistenna.VratPocetSten());


            //// hod šestistěnnou
            //Console.WriteLine(sestistenna); //defaultní metoda ToString: bez override se vypíše cesta k třídě
            //for (int i = 0; i < 10; i++)
            //    Console.Write(sestistenna.hod() + " ");

            //// hod desetistěnnou
            //Console.WriteLine("\n\n" + desetistenna);
            //for (int i = 0; i < 10; i++)
            //    Console.Write(desetistenna.hod() + " ");

            //// hra
            //Kostka kostka = new Kostka(10);
            //Bojovnik bojovnik = new Bojovnik("Zalgoren", 100, 20, 10, kostka);

            //Console.WriteLine("\n\nBojovník: {0}", bojovnik); // test ToString();
            //Console.WriteLine("Naživu: {0}", bojovnik.Nazivu()); // test Nazivu();
            //Console.WriteLine("Život: {0}", bojovnik.GrafickyZivot()); // test GrafickyZivot();

            //// test útoku
            //bojovnik.Utoc(bojovnik);
            //Console.WriteLine("\nŽivot po útoku: {0}", bojovnik.GrafickyZivot());

            //// útok na našeho bojovníka
            //Bojovnik souper = new Bojovnik("\nShadow", 60, 18, 15, kostka);
            //souper.Utoc(bojovnik);
            //Console.WriteLine(souper.VratPosledniZpravu());
            //Console.WriteLine(bojovnik.VratPosledniZpravu());

            //Console.WriteLine("Život: {0}", bojovnik.GrafickyZivot());



            // vytvoření objektů
            Kostka   kostka   = new Kostka(10);
            Bojovnik zalgoren = new Bojovnik("Zalgoren", 100, 20, 10, kostka);
            //Bojovnik shadow = new Bojovnik("Shadow", 60, 18, 15, kostka);
            //Bojovnik gandalf = new Mag("Gandalf", 60, 15, 12, kostka, 30, 45);
            Mag   gandalf = new Mag("Gandalf", 60, 15, 12, kostka, 30, 45);
            Arena arena   = new Arena(zalgoren, gandalf, kostka);

            // zápas
            arena.Zapas();
            Console.ReadKey();



            Console.ReadKey();
        }
Exemple #4
0
 private void VypisBojovnika(Bojovnik b)
 {
     Console.WriteLine(b);
     Console.Write("Život: ");
     Console.WriteLine(b.GrafickyZivot());
     if (b is Mag)
     {
         Console.Write("Mana:  ");
         Console.WriteLine(((Mag)b).GrafickaMana());
     }
 }
Exemple #5
0
        //public override void Utoc(Bojovnik souper) //override = přepisování zděděné metody
        //{
        //    int uder = 0;
        //    // Mana není naplněna
        //    if (mana < maxMana)
        //    {
        //        mana += 10;
        //        if (mana > maxMana)
        //            mana = maxMana;
        //        uder = utok + kostka.hod();
        //        NastavZpravu(String.Format("{0} útočí s úderem za {1} hp", jmeno, uder));
        //    }
        //    else // Magický útok
        //    {
        //        uder = magickyUtok + kostka.hod();
        //        NastavZpravu(String.Format("{0} použil magii za {1} hp", jmeno, uder));
        //        mana = 0;
        //    }
        //    souper.BranSe(uder);
        //}

        public override void Utoc(Bojovnik souper) ///použití base - volání na předkovi
        {
            // Mana není naplněna
            if (mana < maxMana)
            {
                mana += 10;
                if (mana > maxMana)
                {
                    mana = maxMana;
                }
                base.Utoc(souper);
            }
            else // Magický útok
            {
                int uder = magickyUtok + kostka.hod();
                NastavZpravu(String.Format("{0} použil magii za {1} hp", jmeno, uder));
                souper.BranSe(uder);
                mana = 0;
            }
        }
Exemple #6
0
 public Arena(Bojovnik bojovnik1, Bojovnik bojovnik2, Kostka kostka)
 {
     this.bojovnik1 = bojovnik1;
     this.bojovnik2 = bojovnik2;
     this.kostka    = kostka;
 }