private static bool Walka(Hero hero, Mag mag) { int odpowiedz = 0; while (true) { int iloscOdpowiedzi = 1; odpowiedz = 0; while (true) { Console.WriteLine("Czy chcesz atakować? [1]"); if (hero.PotkiNaLeczenie > 0) { iloscOdpowiedzi = 2; Console.WriteLine("Czy leczyć się? [2]"); } odpowiedz = int.Parse(Console.ReadLine()); if (odpowiedz == 1 || (odpowiedz == 2 && iloscOdpowiedzi == 2)) { break; } Console.WriteLine("Zła liczba"); } if (odpowiedz == 1) { mag.OdejmijHp(hero.PobierzSileAtaku()); Console.WriteLine("hp maga {0} wynosi {1}", mag.Nazwa, mag.Hp); } else { hero.WypijPotke(); } if (mag.Hp <= 0) { Console.WriteLine("mag przegrał"); return(true); } Console.WriteLine($"Mag atakuje za {mag.PobierzSileAtaku()} ataku"); hero.OdejmijHp(mag.PobierzSileAtaku()); Console.WriteLine("hp {0} wynosi {1}", hero.Nazwa, hero.Hp); if (hero.Hp <= 0) { Console.WriteLine("mag wygrał"); return(false); } } }
private static void Gra() { Random random = new Random(); Console.WriteLine("Witaj w grze Wojownik vs Magowie"); Console.WriteLine("Podaj imie Twojego bohatera:"); string imie = Console.ReadLine(); // tworzymy gracza i przeciwnika Wojownik gracz = new Wojownik(imie, random.Next(150, 300), random.Next(5, 15), 5); Mag przeciwnik = new Mag("Super czarodziej", random.Next(150, 300), random.Next(5, 15), 10); Console.WriteLine("Na swojej drodze spotkałeś przeciwnika."); przeciwnik.WyswietlStatystyki(); // walka toczy się dopóki zycie któregoś z graczy nie spadnie poniżej zera while (gracz.Hp >= 0 && przeciwnik.Hp >= 0) { // przeciwnik atakuje Console.WriteLine($"Gracz {przeciwnik.Nazwa} atakuje."); int atakPrzeciwnika = przeciwnik.PobierzSileAtaku(); gracz.OdejmijHp(atakPrzeciwnika); Console.WriteLine($"Pozostało Ci {gracz.Hp} życia.\n"); // sprawdzamy czy po ataku czasem nie zgineliśmy // jeżeli tak to kończymy walkę if (gracz.Hp <= 0) { break; } // zatrzymujemy na pól sekundy program dla ciekawszego efektu System.Threading.Thread.Sleep(500); // my atakujemy Console.WriteLine($"Gracz {gracz.Nazwa} atakuje."); int atakGracza = gracz.PobierzSileAtaku(); przeciwnik.OdejmijHp(atakGracza); Console.WriteLine($"Przeciwnikowi zostało {gracz.Hp} życia.\n"); // sprawdzamy czy po ataku czasem nie pokonaliśmy wroga // jeżeli tak to kończymy walkę if (przeciwnik.Hp <= 0) { break; } // zatrzymujemy na pól sekundy program dla ciekawszego efektu System.Threading.Thread.Sleep(500); } if (gracz.Hp <= 0) { Console.WriteLine($"Niestety zostałeś pokonany. Przeciwnik {przeciwnik.Nazwa} wygrał."); } else { Console.WriteLine($"Gratulację. Pokonałeś przeciwnika {przeciwnik.Nazwa}"); } //zmniejszy hp przeciwnika o siłę ataku gracza przeciwnik.OdejmijHp(gracz.PobierzSileAtaku()); Console.ReadKey(); }