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); }
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(); } }
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(); }
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()); } }
//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; } }
public Arena(Bojovnik bojovnik1, Bojovnik bojovnik2, Kostka kostka) { this.bojovnik1 = bojovnik1; this.bojovnik2 = bojovnik2; this.kostka = kostka; }