Untitled

mail@pastecode.io avatar
unknown
plain_text
a year ago
16 kB
4
Indexable
Never
using System;
using System.Collections.Generic;

namespace zWYKŁADAMI
{
    public class Rozgrywka
    {
        //----------------------------GRACZ I POTWORY----------------------------
        private int lvl, dmg, zycie, dmg_w, zycie_w;
        private string imie, lokalizacja, ekwipunek;
        public void SetLvl(int lvl)
        {
            this.lvl = lvl;
        }
        public int GetLvl()
        {
            return this.lvl;
        }
        public void SetDmg(int dmg)
        {
            this.dmg = dmg;
        }
        public int GetDmg()
        {
            return this.dmg;
        }
        public void SetZycie(int zycie)
        {
            this.zycie = zycie;
        }
        public int GetZycie()
        {
            return this.zycie;
        }
        public void SetDmg_w(int dmg_w)
        {
            this.dmg_w = dmg_w;
        }
        public int GetDmg_w()
        {
            return this.dmg_w;
        }
        public void SetZycie_w(int zycie_w)
        {
            this.zycie_w = zycie_w;
        }
        public int GetZycie_w()
        {
            return this.zycie_w;
        }
        public void SetImie(string imie)
        {
            this.imie = imie;
        }
        public string GetImie()
        {
            return this.imie;
        }
        public void SetLokalizacja(string lokalizacja)
        {
            this.lokalizacja = lokalizacja;
        }
        public string GetLokalizacja()
        {
            return this.lokalizacja;
        }
        public void SetEkwipunek(string ekwipunek)
        {
            this.ekwipunek = ekwipunek;
        }
        public string GetEkwipunek()
        {
            return this.ekwipunek;
        }
        public Rozgrywka() //konstruktor
        {
            SetLvl(1);
            SetDmg(20);
            SetZycie(10);
            SetDmg_w(14);
            SetZycie(8);
            SetLokalizacja("Senna Kotlina - START");
            SetEkwipunek("Twój plecak jest pusty");
        }
        public void Statystyki(int lvl, int zycie, int dmg, string lokalizacja, string ekwipunek)
        {
            Console.WriteLine("----------------------------------------------------------------");
            Console.WriteLine("                            STATYSTYKI GRACZA - " + GetImie());
            string statystyki = $" \n Twój poziom gry: {lvl} \n Twoje punkty życia: {zycie} \n Twoje punkty walki: {dmg} \n Twoja aktualna lokalizacja: {lokalizacja} \n Zawartość Twojego plecaka: {ekwipunek},"; //łańcuch interpolowany
            Console.WriteLine(statystyki);
            Console.WriteLine("----------------------------------------------------------------");
        }
        public void Wilkolak(int dmg_w, int zycie_w)
        {
            this.dmg_w = dmg_w;
            this.zycie_w = zycie_w;
        }
        public void Statystyki_w(int zycie_w, int dmg_w)
        {
            Console.ForegroundColor = ConsoleColor.Blue;
            Console.WriteLine("----------------------------------------------------------------");
            Console.WriteLine("                            STATYSTYKI WILKOŁAKA");
            string statystyki_w = $" \n Punkty życia Wilkołaka: {zycie_w} \n Punkty walki Wilkołaka: {dmg_w}"; //łańcuch interpolowany
            Console.WriteLine(statystyki_w);
            Console.WriteLine("----------------------------------------------------------------");
            Console.ResetColor();
        }
        //------------PIERWSZY WYBÓR------------
        public void Wybor1(Rozgrywka ustawienia)
        {
            Console.WriteLine("Stajesz przed swoim pierwszym poważnym wyborem. \n Przed Tobą rozciągają się trzy ścieżki. \n BLABLABLA Wybierz tą, którą podpowiada Ci serce: ");
            Console.WriteLine("Wybierz: \n 1 - jeśli chcesz podążać mroczną leśną ścieżką \n 2 - jeśli bliskie Ci wspinaczki górskie \n 3 - jeśli uspokaja Cię szum fal");

            bool dobrywybor1 = false;

            while (!dobrywybor1)
            {
                ConsoleKeyInfo keyInfo = Console.ReadKey();
                Console.WriteLine();
                if (Char.IsDigit(keyInfo.KeyChar))
                {
                    double wybor1 = double.Parse(keyInfo.KeyChar.ToString());
                    if (wybor1 == 1)
                    {
                        Console.WriteLine("Wybrałeś mroczną leśną ścieżkę. Przed Tobą pierwsze wyzwanie! " + GetImie());
                        ustawienia.SetLokalizacja("las");
                        Statystyki(ustawienia.GetLvl(), ustawienia.GetZycie(), ustawienia.GetDmg(), ustawienia.GetLokalizacja(), ustawienia.GetEkwipunek());
                        Lokalizacje lokalizacje = new Lokalizacje(); // tworzenie obiektu klasy Lokalizacje
                        lokalizacje.Las(ustawienia); // wywołanie metody Las na obiekcie lokalizacje
                        dobrywybor1 = true;
                    }
                    else if (wybor1 == 2)
                    {
                        Console.WriteLine("Wybrałeś wspinaczki górskie. Przed Tobą pierwsze wyzwanie! " + GetImie());
                        ustawienia.SetLokalizacja("góry");
                        Statystyki(ustawienia.GetLvl(), ustawienia.GetZycie(), ustawienia.GetDmg(), ustawienia.GetLokalizacja(), ustawienia.GetEkwipunek());
                        dobrywybor1 = true;
                    }
                    else if (wybor1 == 3)
                    {
                        Console.WriteLine("Wybrałeś szum fal. Przed Tobą pierwsze wyzwanie! " + GetImie());
                        ustawienia.SetLokalizacja("morze");
                        Statystyki(ustawienia.GetLvl(), ustawienia.GetZycie(), ustawienia.GetDmg(), ustawienia.GetLokalizacja(), ustawienia.GetEkwipunek());
                        dobrywybor1 = true;
                    }
                    else
                    {
                        Console.WriteLine("Dokonałeś złego wyboru! Wybierz poprawną liczbę, aby przejść dalej:");
                        wybor1 = Convert.ToDouble(Console.ReadLine());
                    }
                }
                else
                Console.WriteLine("Dokonałeś złego wyboru! Wybierz poprawną liczbę, aby przejść dalej:");
            }
        }
        public void Dialog(string postac, string kwestia)
        {
            ConsoleColor kolor;
            if (postac == "Wiesniak1")
            {
                kolor = ConsoleColor.Blue;
            }
            else if (postac == "Baba")
            {
                kolor = ConsoleColor.Red;
            }
            else
            {
                kolor = ConsoleColor.DarkMagenta;
            }
            Console.ForegroundColor = kolor;
            Console.WriteLine(postac + ": " + kwestia);
            Console.ResetColor();
        }
    }
    public class Lokalizacje : Rozgrywka
    {
        public int[] odwiedzone_lokalizacje = new int[3];
        public void Las(Rozgrywka ustawienia)
        {
            odwiedzone_lokalizacje[0] = 1;
            Console.WriteLine("Znalazł_ś się w lesie! Las jest obfity w leśne przysmaki, jako specjalny prezent otrzymujesz tojad!");
            if (ustawienia.GetEkwipunek().Contains("pusty"))
                ustawienia.SetEkwipunek("tojad"); // ustawia wartość pola ekwipunek za pomocą setera
            else
                ustawienia.SetEkwipunek(ustawienia.GetEkwipunek() + ", " + "tojad");
            string zawartoscPlecaka = ustawienia.GetEkwipunek(); // odczytuje wartość pola ekwipunek za pomocą getera
            Console.WriteLine("Zawartość Twojego plecaka: " + zawartoscPlecaka);
            Console.WriteLine("Rozwinięcie");
            Dialog("Wiesniak1", "Cześć, jak się masz?");
            Dialog("Baba", "Witaj! Mam się świetnie.");
            Dialog("Wilk", "Siema skurwysyny");
            Console.WriteLine("Wiesniak daje Ci wskazowke ukryta w wierszu, musisz to rozwiazac. Podaj poprawną odpowiedz");
            string zagadka1 = Console.ReadLine().ToLower();
            int licznik = 3;

            for (int i = 1; i <= 3; i++)
            {
                if (zagadka1 == "dobra")
                {
                    Console.WriteLine("Super {0}, pokonał_ś zagadkę wiesniora, wchodzisz na nowy level", ustawienia.GetImie());
                    ustawienia.SetLvl(ustawienia.GetLvl() + 1);
                    ustawienia.Statystyki(ustawienia.GetLvl(), ustawienia.GetZycie(), ustawienia.GetDmg(), ustawienia.GetLokalizacja(), ustawienia.GetEkwipunek());
                    WalkazWilkiem(ustawienia);
                    i = 3;
                }
                else
                {
                    Console.WriteLine("Odpowiedział_ś źle! Twoje pozostałe próby: {0}", licznik - 1);
                    licznik--;
                    zagadka1 = Convert.ToString(Console.ReadLine());
                    if (licznik <= 1)
                    {
                        Console.WriteLine("Niestety {0}, Twoje próby się skończyły, musimy Ci odebrać 5 punktów walki", ustawienia.GetImie());
                        ustawienia.SetDmg(ustawienia.GetDmg() - 5);
                        ustawienia.Statystyki(ustawienia.GetLvl(), ustawienia.GetZycie(), ustawienia.GetDmg(), ustawienia.GetLokalizacja(), ustawienia.GetEkwipunek());
                        Console.WriteLine("Pomimo to, nie poddawaj się!! Musimy ruszać dalej!");
                        WalkazWilkiem(ustawienia);
                    }
                }
            }
        }
        public void WalkazWilkiem(Rozgrywka ustawienia)
        {
            Console.WriteLine("BLA BLA BLA");
            Dialog("Wiesniak1", "Coś");
            Dialog("Baba", "Okok");
            Dialog("Twoja Stara", "Siema skurwysyny");
            Console.WriteLine("zaczynamy fame mma");

            if (ustawienia.GetEkwipunek().Contains("tojad"))
            {
                Console.WriteLine("Możesz pozbyć się wilkołaka bez walki, bo posiadasz tojad");
                ustawienia.SetZycie_w(ustawienia.GetZycie_w() - GetZycie_w());
                ustawienia.SetEkwipunek(ustawienia.GetEkwipunek().Replace("tojad", ""));
                if (String.IsNullOrEmpty(ustawienia.GetEkwipunek()))
                {
                    ustawienia.SetEkwipunek("Twój plecak jest pusty");
                }
                ustawienia.Statystyki(ustawienia.GetLvl(), ustawienia.GetZycie(), ustawienia.GetDmg(), ustawienia.GetLokalizacja(), ustawienia.GetEkwipunek());
                ustawienia.Statystyki_w(ustawienia.GetZycie_w(), ustawienia.GetDmg_w());
                Console.WriteLine("W nagrode dostajesz: ");
                // WyborLokalizacji(settings);
            }
            else
            {
                Console.WriteLine("Musisz stoczyć walkę z wilkołakiem, klikaj spację, by pozbawić go punktów życia");
                while (ustawienia.GetZycie_w() > 0 && ustawienia.GetZycie() > 0 && ustawienia.GetDmg() > 0 || ustawienia.GetDmg_w() > 0)
                {
                    ConsoleKeyInfo keyInfo = Console.ReadKey(true);
                    if (keyInfo.Key == ConsoleKey.Spacebar)
                    {
                        if (ustawienia.GetDmg() > 0)
                        {
                            ustawienia.SetZycie_w(ustawienia.GetZycie_w() - 1);
                            ustawienia.SetDmg(ustawienia.GetDmg() - 2);
                            Console.ForegroundColor = ConsoleColor.DarkRed;
                            Console.WriteLine("Zadajesz obrażenia wilkołakowi! Pozostałe punkty życia wilkołaka: " + ustawienia.GetZycie_w());
                            Console.ResetColor();
                        }

                        if (ustawienia.GetDmg_w() > 0)
                        {
                            ustawienia.SetZycie(ustawienia.GetZycie() - 1);
                            ustawienia.SetDmg_w(ustawienia.GetDmg_w() - 2);
                            Console.ForegroundColor = ConsoleColor.DarkBlue;
                            Console.WriteLine("Wilkołak zadał Ci obrażenia! Twoje pozostałe punkty życia: " + ustawienia.GetZycie());
                            Console.ResetColor();
                        }
                    }
                }
                if (ustawienia.GetZycie_w() <= 0 && ustawienia.GetZycie() > 0)
                {
                    Console.WriteLine("Wilkołak stracił wszystkie punkty życia! Oto statystyki Twoje, {0} oraz Twojego przeciwnika: ", ustawienia.GetImie());
                    ustawienia.Statystyki(ustawienia.GetLvl(), ustawienia.GetZycie(), ustawienia.GetDmg(), ustawienia.GetLokalizacja(), ustawienia.GetEkwipunek());
                    ustawienia.Statystyki_w(ustawienia.GetZycie_w(), ustawienia.GetDmg_w());
                    Console.WriteLine("W nagrode dostajesz: ");
                    // WyborLokalizacji(settings);
                }
                else if (ustawienia.GetZycie_w() > 0 && ustawienia.GetZycie() <= 0)
                {
                    Console.WriteLine("Wilkołak Cię pokonał! Oto statystyki Twoje, {0} oraz Twojego przeciwnika: ", ustawienia.GetImie());
                    ustawienia.Statystyki(ustawienia.GetLvl(), ustawienia.GetZycie(), ustawienia.GetDmg(), ustawienia.GetLokalizacja(), ustawienia.GetEkwipunek());
                    ustawienia.Statystyki_w(ustawienia.GetZycie_w(), ustawienia.GetDmg_w());
                    Console.WriteLine("Nie udało Ci się go pokonać, spadasz na niższy lvl. Ruszaj w dalszą podróż!");
                    // WyborLokalizacji(settings);
                }
                else if (ustawienia.GetZycie_w() >= 0 && ustawienia.GetZycie() >= 0)
                {
                    Console.WriteLine("Nikt nie wygrał. Oto statystyki Twoje, {0} oraz Twojego przeciwnika: ", ustawienia.GetImie());
                    ustawienia.Statystyki(ustawienia.GetLvl(), ustawienia.GetZycie(), ustawienia.GetDmg(), ustawienia.GetLokalizacja(), ustawienia.GetEkwipunek());
                    ustawienia.Statystyki_w(ustawienia.GetZycie_w(), ustawienia.GetDmg_w());
                    Console.WriteLine("Wiesniak przychodzi i daje znowu zagadke i moze tym razem pokonasz wilkołaka");
                    // WyborLokalizacji(settings);
                }
            }
        }
    }
        public class Program
        {
            static void Main(string[] args)
            {
                Console.WriteLine("PRZYGODY W SENNEJ KOTLINIE");
                Console.WriteLine("Witam w Sennej Kotlinie");
                Console.WriteLine("Dzisiaj stoczysz walkę dobra ze złem, próbując uratować mieszkańców Sennej Kotliny. \n Pamiętaj, że każdy wybór ma swoje konsekwencje, a czasu nie można cofnąć. \n Słuchaj swojej intuicji, ale również nie zapominaj o logicznym myśleniu. \n Poza tym baw się dobrze i nie daj się pożreć!!");
                Console.WriteLine("Na sam początek podaj nam swój przydomek, byśmy wiedzieli jak się zwracać do przyszłego bohatera Sennej Kotliny");
                Rozgrywka ustawienia = new Rozgrywka();
                string imie = Console.ReadLine();
                ustawienia.SetImie(imie);
                ustawienia.Wybor1(ustawienia);

                Console.ReadKey();
            }
        }
    }