Untitled

mail@pastecode.io avatar
unknown
plain_text
7 months ago
22 kB
2
Indexable
Never
using System;
using System.Collections.Generic;

namespace GRA_LOWCAPOTWOROW
{ 
        public class Gra
        {
            int lvl;
            int dmg;
            int zycie;
            string imie;
            string lokalizacja;
            string ekwipunek;

            int dmg_w;
            int zycie_w;

            public int[] odwiedzone_lokalizacje = new int[3];
        public void Imie(string imie)
            {
                this.imie = imie;
            }
            public Gra() //konstruktor
            {
                lvl = 1;
                dmg = 5;
                zycie = 10;
                lokalizacja = "Senna Kotlina - START";

                dmg_w = 7;
                zycie_w = 8;
            }
            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}, \n Punkty walki Wilkołaka: {dmg}"; //łańcuch interpolowany
                Console.WriteLine(statystyki_w);
                Console.WriteLine("----------------------------------------------------------------");
                Console.ResetColor();
            }
            public void Ekwipunek(string ekwipunek)
            {
                this.ekwipunek = ekwipunek;
            }
            public void Lokalizacja(string lokalizacja)
            {
                this.lokalizacja = lokalizacja;
            }
            public void Statystyki(int lvl, int zycie, int dmg, string lokalizacja, string ekwipunek)
            {
                Console.WriteLine("----------------------------------------------------------------");
                Console.WriteLine("                            STATYSTYKI");
                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 Dialog(string postac, string kwestia)
            {
                ConsoleColor kolor;
                if (postac == "Wiesniak1")
                {
                    kolor = ConsoleColor.Blue;
                }
                else if (postac == "Baba")
                {
                    kolor = ConsoleColor.Red;
                }
                else
                {
                    kolor = ConsoleColor.Green;
                }

                Console.ForegroundColor = kolor;
                Console.WriteLine(postac + ": " + kwestia);
                Console.ResetColor();
            }
            public void Las(Gra settings)
            {
                odwiedzone_lokalizacje [0] = 1;

               Console.WriteLine("Znalazł_ś się w lesie! Las jest obfity w leśne przysmaki, jako specjalny prezent otrzymujesz tojad!");
               if (ekwipunek.Contains("pusty"))
                   ekwipunek = "tojad, ";
                else
                    ekwipunek += "tojad, ";
                Console.WriteLine("Zawartość Twojego plecaka: " + settings.ekwipunek);
                ekwipunek += "ząb, ";
                Console.WriteLine("Zawartość Twojego plecaka: " + settings.ekwipunek);
                Console.WriteLine("Rozwinięcie");
                settings.Dialog("Wiesniak1", "Cześć, jak się masz?");
                settings.Dialog("Baba", "Witaj! Mam się świetnie.");
                settings.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", imie);
                        lvl++;
                        settings.Statystyki(settings.lvl, settings.zycie, settings.dmg, settings.lokalizacja, settings.ekwipunek);
                        settings.WalkazWilkiem(settings);
                        i = 3;
                    }
                    else
                    {
                        Console.WriteLine("Odpowiedział_ś źle! Twoje pozostałe próby: {0}", licznik);
                        licznik--;
                        zagadka1 = Convert.ToString(Console.ReadLine());
                        if (licznik < 1)
                        {
                            Console.WriteLine("Niestety {0}, tym razem się nie udało, tracisz 2 punkty walki", imie);
                            dmg = dmg - 2;
                            settings.Statystyki(settings.lvl, settings.zycie, settings.dmg, settings.lokalizacja, settings.ekwipunek);
                            Console.WriteLine("Pomimo to, nie poddawaj się!! Musimy ruszać dalej!");
                            settings.WalkazWilkiem(settings);
                        }
                    }
                }
            }
            public void WalkazWilkiem(Gra settings)
            {
                Console.WriteLine("BLA BLA BLA");
                Console.WriteLine("zaczynamy fame mma");
                //settings.Statystyki(settings.lvl, settings.zycie, settings.dmg, settings.lokalizacja, settings.ekwipunek);
                //gracz.Statystyki_w(gracz.zycie_w, gracz.dmg_w);
                if (ekwipunek.Contains("tojad"))
                {
                    Console.WriteLine("Możesz pozbyć się wilkołaka bez walki, bo posiadasz tojad");
                    settings.zycie_w = 0;
                ekwipunek = ekwipunek.Replace("tojad, ", "");
                if (String.IsNullOrEmpty(ekwipunek))
                {
                    Console.WriteLine("Twój plecak jest pusty");
                }
                settings.Statystyki(settings.lvl, settings.zycie, settings.dmg, settings.lokalizacja, settings.ekwipunek);
                    settings.Statystyki_W(settings.zycie_w, settings.dmg_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 (zycie_w > 0 && zycie > 0 && dmg > 0 || dmg_w > 0)
                    {
                        ConsoleKeyInfo keyInfo = Console.ReadKey(true);
                        if (keyInfo.Key == ConsoleKey.Spacebar)
                        {
                            if (dmg > 0)
                            {
                                zycie_w--;
                                dmg--;
                                Console.WriteLine("Zadajesz obrażenia wilkołakowi! Pozostałe punkty życia wilkołaka: " + zycie_w);
                            }

                            if (dmg_w > 0)
                            {
                                zycie--;
                                dmg_w--;
                                Console.WriteLine("Wilkołak zadał Ci obrażenia! Twoje pozostałe punkty życia: " + zycie);
                            }
                        }
                    }
                    if (zycie_w <= 0 && zycie > 0)
                    {
                        Console.WriteLine("Wilkołak stracił wszystkie punkty życia!");
                        settings.Statystyki(settings.lvl, settings.zycie, settings.dmg, settings.lokalizacja, settings.ekwipunek);
                        settings.Statystyki_W(settings.zycie_w, settings.dmg_w);
                        Console.WriteLine("W nagrode dostajesz: ");
                        WyborLokalizacji(settings);
                    }
                    else if (zycie_w > 0 && zycie <= 0)
                    {
                        Console.WriteLine("Wilkołak Cię pokonał! Wilkołak ma jeszcze punkty walki, a Ty nie masz życia!");
                        settings.Statystyki(settings.lvl, settings.zycie, settings.dmg, settings.lokalizacja, settings.ekwipunek);
                        settings.Statystyki_W(settings.zycie_w, settings.dmg_w);
                        Console.WriteLine("Nie udało Ci się go pokonać, spadasz na niższy lvl. Ruszaj w dalszą podróż!");
                        WyborLokalizacji(settings);
                    }
                    else if (zycie_w >= 0 && zycie >= 0)
                    {
                        Console.WriteLine("Nikt nie wygrał");
                        Console.WriteLine("Wiesniak przychodzi i daje znowu zagadke i moze tym razem pokonasz wilkołaka");
                        WyborLokalizacji(settings);
                    }
                }
            }
        public void Gory(Gra settings)
        {
            odwiedzone_lokalizacje[1] = 2;

            Console.WriteLine("Witamy w górach!");
            Console.WriteLine("Wyczerpany podróżą, chcesz zebrać coś do żarcia u podnóża gór. \n Masz do wyboru: \n 1 - wilczełyko, \n 2 - borówka czernica, \n 3 - pokrzyk wilcza jagoda");
            double wybor3;
            bool dobrywybor3 = false;
            while (!dobrywybor3)
            {
                ConsoleKeyInfo keyInfo = Console.ReadKey();
                Console.WriteLine();
                if (Char.IsDigit(keyInfo.KeyChar))
                {
                    wybor3 = double.Parse(keyInfo.KeyChar.ToString());
                    if (wybor3 == 1)
                    {
                        Console.WriteLine("Wybrał_ś wilczełyko " + imie);
                        if (ekwipunek.Contains("pusty"))
                            ekwipunek = "wilczełyko, ";
                        else
                            ekwipunek += "wilczełyko, "; //trujące
                        dobrywybor3 = true;
                    }
                    else if (wybor3 == 2)
                    {
                        Console.WriteLine("Wybrał_ś borówkę czernicę " + imie);
                        if (ekwipunek.Contains("pusty"))
                            ekwipunek = "borówka czernica, ";
                        else
                            ekwipunek += "borówka czernica, "; //zjadliwa
                        dobrywybor3 = true;
                    }
                    else if (wybor3 == 3)
                    {
                        Console.WriteLine("Wybrał_ś wilczą jagodę " + imie);
                        if (ekwipunek.Contains("pusty"))
                            ekwipunek = "wilcza jagoda, ";
                        else
                            ekwipunek += "wilcza jagoda, "; //trująca
                        dobrywybor3 = true;
                    }
                    else
                    {
                        Console.WriteLine("Dokonałeś złego wyboru! Wybierz poprawną liczbę, aby przejść dalej:");
                    }
                }
                else
                {
                    Console.WriteLine("Dokonałeś złego wyboru! Wybierz poprawną liczbę, aby przejść dalej:");
                }
            }
            Console.WriteLine("Zachowaj swoją zdobycz na później, myślę, że może Ci się przydać!");
            Console.WriteLine("Podsłuchujesz rozmowę");
            settings.Dialog("Wiesniak1", "Słyszałaś, że w górach grasuje jakiś potwór?");
            settings.Dialog("Baba", "Nie");
            settings.Dialog("Yeti", "Siema skurwysyny");
            Console.WriteLine("Postanawiasz ruszać w prawo BLABLABLA po drodze spotykasz głodne dziecko, które prosi Cię o jedzenie");
            if (ekwipunek.Contains("borówka czernica"))
            {
                Console.WriteLine("Super, dziecko żyje i zjadło borówki od Ciebie, wskakujesz na wyższy lvl");
                settings.lvl++;
                ekwipunek = ekwipunek.Replace("borówka czernica, ", "");
            }
            else
            {
                Console.WriteLine("Masz dzieciaka na sumieniu, spadasz o lvl niżej");
                settings.lvl--;
                if (ekwipunek.Contains("wilczełyko"))
                    ekwipunek = ekwipunek.Replace("wilczełyko, ", "");
                if (ekwipunek.Contains("wilcza jagoda"))
                    ekwipunek = ekwipunek.Replace("wilcza jagoda, ", "");
            }
            Console.WriteLine("Wspinasz się wyżej i znajdujesz jakąś jaskinię czy coś, wchodzisz do środka? Naciśnij ENTER, jeśli tak");
            ConsoleKeyInfo przycisk = Console.ReadKey(true);
            if (przycisk.Key == ConsoleKey.Enter)
            {
                Console.WriteLine("Spotykasz Yeti");
                //jakaś zagadka do pokonania Yeti
                WyborLokalizacji(settings);
            }
            else
            {
                Console.WriteLine("Pizda jesteś, w takim razie spadasz o lvl i zabieramy Ci wszystkie zdobycze z plecaka");
                settings.lvl--;
                ekwipunek = "Twój plecak jest pusty!";
                settings.Statystyki(settings.lvl, settings.zycie, settings.dmg, settings.lokalizacja, settings.ekwipunek);
                WyborLokalizacji(settings);
            }
        }
        public void WyborLokalizacji(Gra settings)
            {
                Console.WriteLine("Twoja ostatnia lokalizacja: " + lokalizacja);
                Console.WriteLine("Pora na kolejną przygodę, wybierz jedną z pozostałych lokalizacji, w których nie byłeś!!"); //chyba ze chce zakonczyc gre

            int licznik_lokalizacji = 0;
            for (int i = 0; i < odwiedzone_lokalizacje.Length; i++)
            {
                if (odwiedzone_lokalizacje[i] == 1)
                    licznik_lokalizacji++;
                else if (odwiedzone_lokalizacje[i] == 2)
                    licznik_lokalizacji = licznik_lokalizacji + 7;
                else if (odwiedzone_lokalizacje[i] == 3)
                    licznik_lokalizacji = licznik_lokalizacji + 2;
            }
                 switch (licznik_lokalizacji)
                {
                    case 0:
                        Console.WriteLine("Jeszcze nigdzie nie byłeś!!");
                        break;
                    case 1:
                        Console.WriteLine("Byłeś tylko w lesie.\n  Wybierz: \n 2 - jeśli bliskie Ci wspinaczki górskie \n 3 - jeśli uspokaja Cię szum fal");
                        double wybor2 = Convert.ToDouble(Console.ReadLine()); //tzreba dać warunke jak się poda zły znak to, żeby kodu nie wywalało
                        bool dobrywybor2 = false;
                    while (!dobrywybor2)
                    {
                        if (wybor2 == 2)
                        {
                            Console.WriteLine("Wybrałeś wspinaczki górskie. Przed Tobą kolejne wyzwanie! " + imie);
                            lokalizacja = "góry";
                            settings.Statystyki(settings.lvl, settings.zycie, settings.dmg, settings.lokalizacja, settings.ekwipunek);
                            settings.Gory(settings);
                            dobrywybor2 = true;
                        }
                        else if (wybor2 == 3)
                        {
                            Console.WriteLine("Wybrałeś szum fal. Przed Tobą kolejne wyzwanie! " + imie);
                            lokalizacja = "morze";
                            settings.Statystyki(settings.lvl, settings.zycie, settings.dmg, settings.lokalizacja, settings.ekwipunek);
                            dobrywybor2 = true;
                        }
                        else
                        {
                            Console.WriteLine("Dokonałeś złego wyboru! Wybierz poprawną liczbę, aby przejść dalej:");
                            wybor2 = Convert.ToDouble(Console.ReadLine());
                        }
                    }
                        return;
                    case 2:
                        Console.WriteLine("Byłeś tylko nad morzem");
                        break;
                    case 3:
                        Console.WriteLine("Byłeś nad morzem i w lesie");
                        break;
                    case 7:
                        Console.WriteLine("Byłeś tylko w górach");
                        //PrzeniesDoInnejLokalizacji(gracz); 
                        return;
                    case 8:
                        Console.WriteLine("Byłeś w lesie i w górach");
                        break;
                    case 9:
                        Console.WriteLine("Byłeś nad morzem i w górach");
                        break;
                    case 10:
                        Console.WriteLine("Byłeś już wszędzie!!!");
                        break;
                } 
            }
            public void Wybor1(Gra settings)
            {
                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");

                double wybor1 = Convert.ToDouble(Console.ReadLine()); //tzreba dać warunke jak się poda zły znak to, żeby kodu nie wywalało
                bool dobrywybor1 = false;

                while (!dobrywybor1)
                {
                    if (wybor1 == 1)
                    {
                        Console.WriteLine("Wybrałeś mroczną leśną ścieżkę. Przed Tobą pierwsze wyzwanie! " + imie);
                        lokalizacja = "las";
                        ekwipunek = "Twój plecak jest pusty!";
                        settings.Statystyki(settings.lvl, settings.zycie, settings.dmg, settings.lokalizacja, settings.ekwipunek);
                        settings.Las(settings);
                        dobrywybor1 = true;
                    }
                    else if (wybor1 == 2)
                    {
                        Console.WriteLine("Wybrałeś wspinaczki górskie. Przed Tobą pierwsze wyzwanie! " + imie);
                        lokalizacja = "góry";
                        ekwipunek = "Twój plecak jest pusty!";
                        settings.Statystyki(settings.lvl, settings.zycie, settings.dmg, settings.lokalizacja, settings.ekwipunek);
                        dobrywybor1 = true;
                    }
                    else if (wybor1 == 3)
                    {
                        Console.WriteLine("Wybrałeś szum fal. Przed Tobą pierwsze wyzwanie! " + imie);
                        lokalizacja = "morze";
                        ekwipunek = "Twój plecak jest pusty!";
                        settings.Statystyki(settings.lvl, settings.zycie, settings.dmg, settings.lokalizacja, settings.ekwipunek);
                        dobrywybor1 = true;
                    }
                    else
                    {
                        Console.WriteLine("Dokonałeś złego wyboru! Wybierz poprawną liczbę, aby przejść dalej:");
                        wybor1 = Convert.ToDouble(Console.ReadLine());
                    }
                }
            }
        
        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");
                Gra settings = new Gra();
                string imie = Console.ReadLine();
                settings.Imie(imie);
                Console.WriteLine("To są Twoje statystyki {0}: ", imie);
                settings.Statystyki(1, 10, 5, "Senna Kotlina = START", "Twój plecak jest pusty!");
                settings.Wybor1(settings);

                Console.ReadKey();
            }
        }
    }
}