Пример #1
0
        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);
                }
            }
        }
Пример #2
0
        static void Main(string[] args)
        {
            //PisakTest();
            //Dziedziczenie();
            //ToStringTest();
            //StatyczneTest();

            /*
             * Zadanie: Napisać program konsolowy, który będzie prosił użytkownika o podawanie
             *  kolejno liczb całkowitych, zapisywał je w tablicy i wyświetlał za każdym razem
             *  zawartość tablicy i średnią podanych liczb. Dodać metodę ZamienNaTekst, która
             *  przyjmie tablicę i zwróci ją w postaci tekstu: [el1, el2, el3].
             */

            Wojownik gracz = new Wojownik("Jan", 100, 15, 5);
            Mag      mag   = new Mag("Gandalf", 50, 20, 3);

            Console.WriteLine(gracz.WyswietlStatystyki());
            Console.WriteLine(mag.WyswietlStatystyki());

            //gracz atakuje maga:
            mag.OdejmijHP(gracz.PobierzSileAtaku());
            // \/
            mag.OdejmijHP(15);
            // \/
            mag.Hp -= 15;

            //mag atakuje grazcz:
            gracz.OdejmijHP(mag.PobierzSileAtaku());
            // Damage + Moc
            // Atak - Obrona



            //Tablice();
            //Listy();
        }
Пример #3
0
        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();
        }