Untitled
user_5387184
plain_text
2 years ago
57 kB
11
Indexable
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace test { public class Rozgrywka { public delegate void Staty_wysw(int lvl, int zycie, int dmg, string lokalizacja, string ekwipunek); //----------------------------GRACZ I POTWORY---------------------------- private int lvl, dmg, zycie, dmg_w, zycie_w, zycie_y; private string imie, lokalizacja, ekwipunek; public int Lvl { get //hermetyzacja { return lvl; } set { lvl = value; } } public int Dmg { get { return dmg; } set { dmg = value; } } public int Zycie { get { return zycie; } set { zycie = value; } } public int Dmg_w { get { return dmg_w; } set { dmg_w = value; } } public int Zycie_w { get { return zycie_w; } set { zycie_w = value; } } public int Zycie_y { get { return zycie_y; } set { zycie_y = value; } } public string Imie { get { return imie; } set { imie = value; } } public string Lokalizacja { get { return lokalizacja; } set { lokalizacja = value; } } public string Ekwipunek { get { return ekwipunek; } set { ekwipunek = value; } } public Rozgrywka() //konstruktor { Lvl = 1; Dmg = 20; Zycie = 10; Dmg_w = 14; Zycie_w = 8; Zycie_y = 30; Lokalizacja = "Senna Kotlina - START"; Ekwipunek = "Twój plecak jest pusty"; } public void Statystyki(int lvl, int zycie, int dmg, string lokalizacja, string ekwipunek) { Console.WriteLine(""); Console.WriteLine(""); Console.WriteLine("----------------------------------------------------------------------------------"); Console.Write(" "); Console.BackgroundColor = ConsoleColor.Magenta; Console.Write("STATYSTYKI GRACZA - " + Imie); Console.ResetColor(); 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("----------------------------------------------------------------------------------"); Console.WriteLine(""); 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(""); Console.WriteLine("----------------------------------------------------------------------------------"); Console.ResetColor(); Console.Write(" "); Console.BackgroundColor = ConsoleColor.Blue; Console.Write("STATYSTYKI WILKOŁAKA"); Console.ResetColor(); Console.WriteLine(); Console.ForegroundColor = ConsoleColor.Blue; 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:"); Console.BackgroundColor = ConsoleColor.DarkGreen; Console.ForegroundColor = ConsoleColor.Black; Console.Write( " 1 "); Console.ResetColor(); Console.WriteLine("- jeśli chcesz podążać mroczną leśną ścieżką"); Console.BackgroundColor = ConsoleColor.DarkGray; Console.ForegroundColor = ConsoleColor.Black; Console.Write(" 2 "); Console.ResetColor(); Console.WriteLine("- jeśli bliskie Ci wspinaczki górskie"); Console.BackgroundColor = ConsoleColor.Cyan; Console.ForegroundColor = ConsoleColor.Black; Console.Write(" 3 "); Console.ResetColor(); Console.WriteLine("- 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.Clear(); Console.WriteLine("Wybrałeś mroczną leśną ścieżkę. Przed Tobą pierwsze wyzwanie graczu {0}! ", imie); Lokalizacja = "las"; Statystyki(Lvl, Zycie, Dmg, Lokalizacja, Ekwipunek); 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.Clear(); Console.WriteLine("Wybrałeś wspinaczki górskie. Przed Tobą pierwsze wyzwanie graczu {0}! ", imie); Lokalizacja = "góry"; Statystyki(Lvl, Zycie, Dmg, Lokalizacja, Ekwipunek); Lokalizacje lokalizacje = new Lokalizacje(); lokalizacje.Gory(ustawienia); dobrywybor1 = true; } else if (wybor1 == 3) { Console.Clear(); Console.WriteLine("Wybrałeś szum fal. Przed Tobą pierwsze wyzwanie graczu {0}! ",imie); Lokalizacja = "morze"; Statystyki(Lvl, Zycie, Dmg, Lokalizacja, Ekwipunek); Lokalizacje lokalizacje = new Lokalizacje(); lokalizacje.Morze(ustawienia); 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 == "Kowal") { kolor = ConsoleColor.Blue; } else if (postac == "Ty") { kolor = ConsoleColor.Red; } else { kolor = ConsoleColor.DarkMagenta; } Console.ForegroundColor = kolor; Console.WriteLine(postac + ": " + kwestia); Console.ResetColor(); } } public class Lokalizacje : Rozgrywka { int licznik_lokalizacji = 0; //WYJSCIE, GDY SIĘ PRZEGRAŁO public void Wyjscie(Rozgrywka ustawienia) { return; } //------------WYJŚCIE Z GRY------------ public void WyjsciezGry(Rozgrywka ustawienia) { //int licznik_lokalizacji = 0; if (licznik_lokalizacji == 10) { Console.WriteLine("Byłeś wszędzie" + ustawienia.Imie); Console.WriteLine("Dziękujemy za grę! Mam nadzieję, że Ci się podobało! Oto Twoje końcowe statystyki {0}: ", ustawienia.Imie); ustawienia.Statystyki(ustawienia.Lvl, ustawienia.Zycie, ustawienia.Dmg, ustawienia.Lokalizacja, ustawienia.Ekwipunek); Console.ReadLine(); Environment.Exit(0); } else { bool grawtrakcie = true; Console.WriteLine("Pora na kolejną przygodę, naciśnij dowolny przycisk, by kontynuować \n lub naciśnij ESC jeśli masz dosyć przygód i chcesz zakończyć grę w tym miejscu, w którym aktualnie jesteś"); while (grawtrakcie) { ConsoleKeyInfo wyjscie = Console.ReadKey(true); if (wyjscie.Key == ConsoleKey.Escape) { Console.WriteLine("Czy jesteś pewny, że chcesz zakończyć grę? Naciśnij ENTER, jeśli to Twoja ostateczna decyzja lub dowolny klawisz, by pozostać w grze"); ConsoleKeyInfo wyjscie_ostateczne = Console.ReadKey(true); if (wyjscie_ostateczne.Key == ConsoleKey.Enter) { Console.WriteLine("Dziękujemy za grę! Mam nadzieję, że Ci się podobało! Oto Twoje końcowe statystyki {0}: ", ustawienia.Imie); ustawienia.Statystyki(ustawienia.Lvl, ustawienia.Zycie, ustawienia.Dmg, ustawienia.Lokalizacja, ustawienia.Ekwipunek); grawtrakcie = false; Console.ReadLine(); Environment.Exit(0); } else { Console.WriteLine("Cieszymy się, że zostajesz z nami, teraz możesz wybrać swoją kolejną lokalizację"); WyborLokalizacji(ustawienia); } } else WyborLokalizacji(ustawienia); } } } //--------------------------WYBOR KOLEJNEJ LOKALIZACJI-------------------------- public void WyborLokalizacji(Rozgrywka ustawienia) { Console.WriteLine("Twoja ostatnia lokalizacja: " + ustawienia.Lokalizacja); bool dobrywybor2 = false; switch (licznik_lokalizacji) { case 1: { Console.Clear(); 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 i naciśnij ENTER"); while (!dobrywybor2) { double wybor2; if (double.TryParse(Console.ReadLine(), out wybor2)) //sprawdzamy, czy to co wpisał użytkownik można przekonwertować do double, jesli nie to wyświetlamy błąd { Console.WriteLine(); if (wybor2 == 2) { Console.WriteLine("Wybrałeś wspinaczki górskie. Przed Tobą koeljne wyzwanie! " + ustawienia.Imie); ustawienia.Lokalizacja = "góry"; ustawienia.Statystyki(ustawienia.Lvl, ustawienia.Zycie, ustawienia.Dmg, ustawienia.Lokalizacja, ustawienia.Ekwipunek); Gory(ustawienia); dobrywybor2 = true; } else if (wybor2 == 3) { Console.WriteLine("Wybrałeś szum fal. Przed Tobą kolejne wyzwanie! " + ustawienia.Imie); ustawienia.Lokalizacja = "morze"; ustawienia.Statystyki(ustawienia.Lvl, ustawienia.Zycie, ustawienia.Dmg, ustawienia.Lokalizacja, ustawienia.Ekwipunek); Morze(ustawienia); dobrywybor2 = 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:"); } } break; } case 2: { Console.Clear(); Console.WriteLine("Byłeś tylko nad morzem.\n Wybierz: \n 1 - jeśli chcesz podążać mroczną leśną ścieżką \n 2 - jeśli lubisz górskie wspinaczki i naciśnij ENTER"); while (!dobrywybor2) { double wybor2; if (double.TryParse(Console.ReadLine(), out wybor2)) { Console.WriteLine(); if (wybor2 == 1) { Console.WriteLine("Wybrałeś mroczną ścieżkę. Przed Tobą kolejne wyzwanie! " + ustawienia.Imie); ustawienia.Lokalizacja = "las"; ustawienia.Statystyki(ustawienia.Lvl, ustawienia.Zycie, ustawienia.Dmg, ustawienia.Lokalizacja, ustawienia.Ekwipunek); Las(ustawienia); dobrywybor2 = true; } else if (wybor2 == 2) { Console.WriteLine("Wybrałeś górskie wspinaczki. Przed Tobą kolejne wyzwanie! " + ustawienia.Imie); ustawienia.Lokalizacja = "góry"; ustawienia.Statystyki(ustawienia.Lvl, ustawienia.Zycie, ustawienia.Dmg, ustawienia.Lokalizacja, ustawienia.Ekwipunek); Gory(ustawienia); dobrywybor2 = 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:"); } } break; } case 3: { Console.Clear(); Console.WriteLine("Byłeś nad morzem i w lesie. Pozostają Ci tylko góry, {0}!", ustawienia.Imie); ustawienia.Lokalizacja = "góry"; ustawienia.Statystyki(ustawienia.Lvl, ustawienia.Zycie, ustawienia.Dmg, ustawienia.Lokalizacja, ustawienia.Ekwipunek); Gory(ustawienia); break; } case 7: { Console.Clear(); Console.WriteLine("Byłeś tylko w górach. Wybierz: \n 1 - jeśli chcesz podążać mroczną leśną ścieżką \n 3 - jeśli uspokaja Cię szum fal i naciśnij ENTER" + ustawienia.Imie); while (!dobrywybor2) { double wybor2; if (double.TryParse(Console.ReadLine(), out wybor2)) { Console.WriteLine(); if (wybor2 == 1) { Console.WriteLine("Wybrałeś mroczną ścieżkę. Przed Tobą kolejne wyzwanie! " + ustawienia.Imie); ustawienia.Lokalizacja = "las"; ustawienia.Statystyki(ustawienia.Lvl, ustawienia.Zycie, ustawienia.Dmg, ustawienia.Lokalizacja, ustawienia.Ekwipunek); Las(ustawienia); dobrywybor2 = true; } else if (wybor2 == 3) { Console.WriteLine("Wybrałeś szum fal. Przed Tobą kolejne wyzwanie! " + ustawienia.Imie); ustawienia.Lokalizacja = "morze"; ustawienia.Statystyki(ustawienia.Lvl, ustawienia.Zycie, ustawienia.Dmg, ustawienia.Lokalizacja, ustawienia.Ekwipunek); Morze(ustawienia); dobrywybor2 = 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:"); } } break; } case 8: { Console.Clear(); Console.WriteLine("Byłeś w lesie i w górach. Pozostaje Ci tylko morze, {0}!", ustawienia.Imie); ustawienia.Lokalizacja = "morze"; ustawienia.Statystyki(ustawienia.Lvl, ustawienia.Zycie, ustawienia.Dmg, ustawienia.Lokalizacja, ustawienia.Ekwipunek); Morze(ustawienia); break; } case 9: { Console.Clear(); Console.WriteLine("Byłeś nad morzem i w górach. Pozostają Ci tylko las, {0}!", ustawienia.Imie); ustawienia.Lokalizacja = "las"; ustawienia.Statystyki(ustawienia.Lvl, ustawienia.Zycie, ustawienia.Dmg, ustawienia.Lokalizacja, ustawienia.Ekwipunek); Las(ustawienia); break; } } } public void Rozmowa() { Console.WriteLine(); Console.WriteLine(); Console.Write(" "); Console.BackgroundColor = ConsoleColor.White; Console.ForegroundColor = ConsoleColor.Black; Console.Write("Rozmowa"); Console.ResetColor(); Console.WriteLine(); Console.WriteLine(); } //--------------------------LAS-------------------------- public void Las(Rozgrywka ustawienia) { licznik_lokalizacji++; Console.Write(" "); Console.BackgroundColor = ConsoleColor.DarkGreen; Console.ForegroundColor = ConsoleColor.Gray; Console.Write("LAS"); Console.ResetColor(); Console.ResetColor(); Console.WriteLine(); Console.WriteLine(); Console.WriteLine(); Console.WriteLine("W lesie, gdzie cisza przerwana jest jedynie szumem liści i szmerem drzw, rozgrywa się historia nieustrasznoego podróżnika oraz jego niebezpiecznego starcia z dzikim zwierzęciem.\nLas jest obfity w leśne przysmaki, jako specjalny prezent otrzymujesz tojad!\nPodczas przechadzki po puszczy zauważasz małą chatkę a obok niej nieznajomą postać. Postanawiasz podejść bliżej i się przywitać. "); if (Ekwipunek.Contains("pusty")) ustawienia.Ekwipunek = "tojad"; // ustawia wartość pola ekwipunek za pomocą setera else ustawienia.Ekwipunek += "tojad"; Console.WriteLine("Zawartość Twojego plecaka: " + ustawienia.Ekwipunek); Rozmowa(); Dialog("Kowal", "Witaj w mrocznym lesie, podróżniku! W czym mogę Ci pomoć?\n "); Dialog("Ty", "Witaj! Wędruję przez las, szukając przygód i tajemnic. Czy masz coś ciekawego do opowiedzenia?\n"); Dialog("Kowal", "Nazywam się Edward i jestem lokalnym kowalem. Jako kuźnik jestem pochłonięty sztuką kowalstwa oraz tworzeniem unikatowych ale jednocześnie funkcjonalnych przedmiotów"); Dialog("Kowal", "Mam dla ciebie szybką zagadkę. Jeśli ją rozwiążesz, będę mógł wytworzyć dla Ciebie niesamowity oreż dzieki któremu, żadne zwierze nie bedzie ci straszne do końca twojej przygody. Zainteresowany?"); Console.WriteLine("---------------------------------------------------------------------------------------------------------------------------------------------------"); Console.BackgroundColor = ConsoleColor.DarkBlue; Console.ForegroundColor = ConsoleColor.Gray; Console.WriteLine("\nWybór:"); Console.ResetColor(); Console.ForegroundColor = ConsoleColor.Green; Console.WriteLine("Jeżeli jesteś zainteresowany wciśnij dowolny przycisk na klawiaturze, aby usłyszeć zagadkę kowala."); Console.ResetColor(); Console.ForegroundColor = ConsoleColor.DarkRed; Console.WriteLine("Jeżeli nie chcesz rozwiązywac zagadki wciśnij ESC na klawiaturze"); Console.ResetColor(); Console.WriteLine("\nUWAGA! Stajesz przed swoim pierwszym wyborem w mrocznym lesie! Pamiętaj, że każda decyzja ma znaczenie jak potoczy się twoja historia!"); ConsoleKeyInfo keyInfo; do { keyInfo = Console.ReadKey(); if (keyInfo.Key != ConsoleKey.Escape) { Console.Clear(); Console.BackgroundColor = ConsoleColor.DarkBlue; Console.ForegroundColor = ConsoleColor.Gray; Console.WriteLine("ZAGADKA OD KOWALA:"); Console.ResetColor(); Console.WriteLine("Co jest większe od Boga,\nBogaci to mają,\nBiedni tego nie znają,\numartwia, a jednocześnie ożywia?"); Console.WriteLine("a)Czas b)Miłość c)Pieniądze d)Wiedza e)Rodzina "); string zagadka1 = Console.ReadLine().ToLower(); int licznik = 3; for (int i = 1; i <= 3; i++) { if (zagadka1 == "d") { Console.Clear(); Console.ForegroundColor = ConsoleColor.Green; Console.WriteLine("Super! {0}, pokonał_ś zagadkę Kowala. Wiedza jest większa od Boga, ponieważ to poprzez wiedzę możemy zrozumieć Boga i Jego stworzenie. \nWchodzisz na nowy level oraz otrzymujesz niesamowita włócznie kowala. Do jej wytworzenia potrzebował tojadu, który posiadał_ś w ekwipunku.", ustawienia.Imie); Console.ResetColor(); ustawienia.Ekwipunek = ustawienia.Ekwipunek.Replace("tojad", ""); if (String.IsNullOrEmpty(ustawienia.Ekwipunek)) { ustawienia.Ekwipunek = "Twój plecak jest pusty"; } Console.WriteLine("W nagrode dostajesz: Włócznia Kowala"); if (Ekwipunek.Contains("pusty")) ustawienia.Ekwipunek = "Włócznia Kowala"; // ustawia wartość pola ekwipunek za pomocą setera else ustawienia.Ekwipunek += "Włócznia Kowala"; ustawienia.Lvl++; ustawienia.Statystyki(ustawienia.Lvl, ustawienia.Zycie, ustawienia.Dmg, ustawienia.Lokalizacja, ustawienia.Ekwipunek); WalkazWilkiem(ustawienia); i = 3; } else { Console.ForegroundColor = ConsoleColor.Red; Console.WriteLine("Odpowiedział_ś źle! Twoje pozostałe próby: {0}", licznik - 1); Console.ResetColor(); zagadka1 = Convert.ToString(Console.ReadLine()); if (licznik <= 1) { Console.Clear(); Console.ForegroundColor = ConsoleColor.DarkRed; Console.WriteLine("Niestety {0}, Twoje próby się skończyły, musimy Ci odebrać 5 punktów walki", ustawienia.Imie); Console.ResetColor(); ustawienia.Dmg = ustawienia.Dmg - 5; ustawienia.Statystyki(ustawienia.Lvl, ustawienia.Zycie, ustawienia.Dmg, ustawienia.Lokalizacja, ustawienia.Ekwipunek); Console.WriteLine("Pomimo to, nie poddawaj się!! Musimy ruszać dalej!"); WalkazWilkiem(ustawienia); } licznik--; } } } } while (keyInfo.Key != ConsoleKey.Escape); Console.Clear(); Console.WriteLine("Uznałeś, że zagatka kowala nie jest tym co chciałbyś robić w swojej przygodzie więc idziesz dalej..."); WalkazWilkiem(ustawienia); } public void WalkazWilkiem(Rozgrywka ustawienia) { Rozmowa(); Console.WriteLine("Żegnasz się z kowalem i wyrusza w dalszą drogę. Jednak nie zdajesz sobie sprawy, że już niedługo spotka Cie niebezpieczeństwo w postaci groźnej bestii, który czai się w zakamarkach lesu..\n"); Dialog("Ty", "Edward! Muszę się już żegnać. Nadszedł czas, aby kontynuować moją podróż\n"); Dialog("Kowal", "Och, to smutne wieści. Dopiero zaczęliśmy nasze rozmowy, a teraz już musisz odchodzić. Ale rozumiem, że podróżnicy mają swoje własne cele i tęsknią za dalekimi miejscami."); Dialog("Kowal", "Do zobaczenia i pamiętaj, że zawsze będziesz mile widziany w moim domu!\n"); Dialog("Ty", "Jeszcze raz dziękuje za miłą rozmowę! Do zobaczenia!\n"); Console.WriteLine("Wyruszyłeś dalej w przygodę.\nPodczas swojej wędrówki w pewnym momęcie poczuł_ś niepokój oraz zakłopotanie. Nagle z krzaków niespodziewanie wyskoczył wilkołak! "); Console.WriteLine("Zamarł_ś na chwilę,czując, jak adrenalina przepływa przez twoje żyły. Twój instynkt przetrwania włączył się natychmiast, gdy spojrzałeś w żarzące się oczy wilka. Wiedział, że musi działać szybko. "); Console.WriteLine("Niestety nie masz gdzie uciec, więc musisz rozprawić się z bestią\n"); if (ustawienia.Ekwipunek.Contains("Włócznia Kowala")) { Console.WriteLine("Aby rozpocząć walkę, klikaj spację, aby pozbawić przeciwnika punktów życia"); ConsoleKeyInfo keyInfo = Console.ReadKey(); if (keyInfo.Key == ConsoleKey.Spacebar) { Console.Clear(); Console.ForegroundColor = ConsoleColor.Green; Console.WriteLine("BRAWO! Pokonałeś wilkołata trafiając go włócznią prosto w serce. Niestety podczas walki włócznia się zniszczyła."); Console.ResetColor(); ustawienia.Zycie_w = 0; ustawienia.Ekwipunek = ustawienia.Ekwipunek.Replace("Włócznia Kowala", ""); if (String.IsNullOrEmpty(ustawienia.Ekwipunek)) { ustawienia.Ekwipunek = "Twój plecak jest pusty"; } ustawienia.Statystyki(ustawienia.Lvl, ustawienia.Zycie, ustawienia.Dmg, ustawienia.Lokalizacja, ustawienia.Ekwipunek); ustawienia.Statystyki_w(ustawienia.Zycie_w, ustawienia.Dmg_w); Console.WriteLine("W nagrode dostajesz: Złoto "); if (Ekwipunek.Contains("pusty")) ustawienia.Ekwipunek = "Złoto"; } else ustawienia.Ekwipunek += "Złoto"; Console.WriteLine("Zawartość Twojego plecaka:\n " + ustawienia.Ekwipunek); WyjsciezGry(ustawienia); } else { Console.WriteLine("Aby rozpocząć walkę, klikaj spację, aby pozbawić przeciwnika punktów życia"); while (ustawienia.Zycie_w > 0 && ustawienia.Zycie > 0 && ustawienia.Dmg > 0 || ustawienia.Dmg_w > 0) { ConsoleKeyInfo keyInfo = Console.ReadKey(true); if (keyInfo.Key == ConsoleKey.Spacebar) { if (ustawienia.Dmg > 0) { ustawienia.Zycie_w--; ustawienia.Dmg = ustawienia.Dmg - 2; Console.ForegroundColor = ConsoleColor.DarkRed; Console.WriteLine("Zadajesz obrażenia wilkołakowi! Pozostałe punkty życia wilkołaka: " + ustawienia.Zycie_w); Console.ResetColor(); } if (ustawienia.Dmg_w > 0) { ustawienia.Zycie--; ustawienia.Dmg_w = ustawienia.Dmg_w - 2; Console.ForegroundColor = ConsoleColor.DarkBlue; Console.WriteLine("Wilkołak zadał Ci obrażenia! Twoje pozostałe punkty życia: " + ustawienia.Zycie); Console.ResetColor(); } } } if (ustawienia.Zycie_w <= 0 && ustawienia.Zycie > 0) { Console.Clear(); Console.WriteLine("Wilkołak stracił wszystkie punkty życia! Oto statystyki Twoje, {0} oraz Twojego przeciwnika: ", ustawienia.Imie); ustawienia.Statystyki(ustawienia.Lvl, ustawienia.Zycie, ustawienia.Dmg, ustawienia.Lokalizacja, ustawienia.Ekwipunek); ustawienia.Statystyki_w(ustawienia.Zycie_w, ustawienia.Dmg_w); Console.WriteLine("W nagrode za pokonanie przeciwnika dostajesz: Złoto "); if (Ekwipunek.Contains("pusty")) ustawienia.Ekwipunek = "Złoto"; else ustawienia.Ekwipunek += "Złoto"; Console.WriteLine("Zawartość Twojego plecaka: " + ustawienia.Ekwipunek); WyjsciezGry(ustawienia); } else if (ustawienia.Zycie_w > 0 && ustawienia.Zycie <= 0) { Console.Clear(); Console.WriteLine("Wilkołak Cię pokonał! Oto statystyki Twoje, {0} oraz Twojego przeciwnika: ", ustawienia.Imie); ustawienia.Statystyki(ustawienia.Lvl, Zycie, ustawienia.Dmg, ustawienia.Lokalizacja, ustawienia.Ekwipunek); ustawienia.Statystyki_w(ustawienia.Zycie_w, ustawienia.Dmg_w); Console.WriteLine("Nie udało Ci się go pokonać, spadasz na niższy lvl. Ruszaj w dalszą podróż!"); WyjsciezGry(ustawienia); } else if (ustawienia.Zycie_w >= 0 && ustawienia.Zycie >= 0) { Console.Clear(); Console.WriteLine("Nikt nie wygrał. Oto statystyki Twoje, {0} oraz Twojego przeciwnika: ", ustawienia.Imie); ustawienia.Statystyki(ustawienia.Lvl, ustawienia.Zycie, ustawienia.Dmg, ustawienia.Lokalizacja, ustawienia.Ekwipunek); ustawienia.Statystyki_w(ustawienia.Zycie_w, ustawienia.Dmg_w); Console.WriteLine("Kowal przychodzi i daje znowu zagadke i moze tym razem pokonasz wilkołaka"); WyjsciezGry(ustawienia); } } } //--------------------------GÓRY-------------------------- public void Gory(Rozgrywka ustawienia) { licznik_lokalizacji = licznik_lokalizacji + 7; Console.Write(" "); Console.BackgroundColor = ConsoleColor.DarkGray; Console.ForegroundColor = ConsoleColor.White; Console.Write("Witamy w górach!"); Console.ResetColor(); Console.Write(""); Console.WriteLine(); Console.WriteLine(); Console.WriteLine(); Console.ResetColor(); 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 " + ustawienia.Imie); if (ustawienia.Ekwipunek.Contains("pusty")) ustawienia.Ekwipunek = "wilczełyko, "; else ustawienia.Ekwipunek += "wilczełyko, "; //trujące Console.WriteLine("Zawartość Twojego plecaka: " + ustawienia.Ekwipunek); dobrywybor3 = true; } else if (wybor3 == 2) { Console.WriteLine("Wybrał_ś borówkę czernicę " + ustawienia.Imie); if (ustawienia.Ekwipunek.Contains("pusty")) ustawienia.Ekwipunek = "borówka czernica, "; else ustawienia.Ekwipunek += "borówka czernica, "; //zjadliwa Console.WriteLine("Zawartość Twojego plecaka: " + ustawienia.Ekwipunek); dobrywybor3 = true; } else if (wybor3 == 3) { Console.WriteLine("Wybrał_ś wilczą jagodę " + ustawienia.Imie); if (ustawienia.Ekwipunek.Contains("pusty")) ustawienia.Ekwipunek = "wilcza jagoda, "; else ustawienia.Ekwipunek += "wilcza jagoda, "; //trująca Console.WriteLine("Zawartość Twojego plecaka: " + ustawienia.Ekwipunek); 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ę"); Console.WriteLine(); Console.WriteLine(); Console.Write(" "); Console.BackgroundColor = ConsoleColor.White; Console.ForegroundColor = ConsoleColor.Black; Console.Write("Rozmowa"); Console.ResetColor(); Console.WriteLine(); Console.WriteLine(); ustawienia.Dialog("Wiesniak1", "Słyszałaś, że w górach grasuje jakiś potwór?"); ustawienia.Dialog("Baba", "Nie"); ustawienia.Dialog("Yeti", "Siema skurwysyny"); Console.WriteLine("Postanawiasz ruszać w prawo BLABLABLA po drodze spotykasz głodne dziecko, które prosi Cię o jedzenie"); if (ustawienia.Ekwipunek.Contains("borówka czernica")) { Console.WriteLine("Super, dziecko żyje i zjadło borówki od Ciebie, wskakujesz na wyższy lvl"); ustawienia.Lvl++; ustawienia.Ekwipunek = ustawienia.Ekwipunek.Replace("borówka czernica, ", ""); if (String.IsNullOrEmpty(ustawienia.Ekwipunek)) { ustawienia.Ekwipunek = "Twój plecak jest pusty"; } Console.WriteLine("Dziecko jest Ci wdzięczne, w nagrodę daje Ci granata"); if (Ekwipunek.Contains("pusty")) ustawienia.Ekwipunek = "granat"; else ustawienia.Ekwipunek += "granat"; Console.WriteLine("Zawartość Twojego plecaka: " + ustawienia.Ekwipunek); } else { Console.WriteLine("Masz dzieciaka na sumieniu, spadasz o lvl niżej"); ustawienia.Lvl--; if (ustawienia.Ekwipunek.Contains("wilczełyko")) ustawienia.Ekwipunek = ustawienia.Ekwipunek.Replace("wilczełyko, ", ""); if (ustawienia.Ekwipunek.Contains("wilcza jagoda")) ustawienia.Ekwipunek = ustawienia.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) { if (ustawienia.Ekwipunek.Contains("granat")) { Console.WriteLine("Spotykasz Yeti, zdajesz sobie sprawę, że dziecko dało Ci wcześniej przydatny prezent"); Console.WriteLine("Wysadzasz w powietrze jaskinię razem z yetim"); ustawienia.Zycie_y = 0; ustawienia.Ekwipunek = ustawienia.Ekwipunek.Replace("granat", ""); if (String.IsNullOrEmpty(ustawienia.Ekwipunek)) { ustawienia.Ekwipunek = "Twój plecak jest pusty"; } ustawienia.Statystyki(ustawienia.Lvl, ustawienia.Zycie, ustawienia.Dmg, ustawienia.Lokalizacja, ustawienia.Ekwipunek); Console.WriteLine("W nagrode dostajesz: "); WyjsciezGry(ustawienia); } else { Console.WriteLine("Spotykasz Yeti, na skraju groty znajdujesz kamienie, jedyny przedmiot, który może służyć za broń"); Console.WriteLine("Tak się składa, że akurat liczba kamieni jest równa liczbie Twoich punktów walki"); int silarzutu = 0; int kamienie = ustawienia.Dmg; for (int i = kamienie; i >= 0 && ustawienia.Zycie_y > 0; i--) //randomowo odejmuje liczbe pkt zycia yetiemu, powiedzmy, ze zalezy od sily rzutu { Console.WriteLine("Naciśnij spację, aby rzucić kamieniem"); ConsoleKeyInfo keyInfo = Console.ReadKey(true); if (keyInfo.Key == ConsoleKey.Spacebar) { Random random = new Random(); silarzutu = random.Next(2, 7); ustawienia.Zycie_y = ustawienia.Zycie_y - silarzutu; if (silarzutu < 4) { ustawienia.Zycie_y = (ustawienia.Zycie_y < 0) ? 0 : ustawienia.Zycie_y; Console.WriteLine("To był słaby rzut, postaraj się bardziej. Siła rzutu: {0} Punkty życia Yetiego: {1}", silarzutu, ustawienia.Zycie_y); //by nie wyświetlała się informacja, że życie yetiego jest ujemne tylko równe 0 } else { ustawienia.Zycie_y = (ustawienia.Zycie_y < 0) ? 0 : ustawienia.Zycie_y; Console.WriteLine("Świetny rzut, oby tak dalej! Siła rzutu: {0} Punkty życia Yetiego: {1}", silarzutu, ustawienia.Zycie_y); i = i - 2; } } else { Console.WriteLine("Nie nacisnąłeś spacji. Spróbuj ponownie..."); i++; // odtwarzanie iteracji pętli, by gracz mógł naciśnąć ponownie spację } } if (ustawienia.Zycie_y > 0 || kamienie <= 0) { Console.WriteLine("Niestety nie dałeś rady pokonać yetiego"); WyjsciezGry(ustawienia); } else if (ustawienia.Zycie_y == 0 || kamienie == 0) { Console.WriteLine("Remis"); WyjsciezGry(ustawienia); } else if (ustawienia.Zycie_y == 0 || kamienie >= 0) { Console.WriteLine("Wygrał_ś!"); WyjsciezGry(ustawienia); } } } else { Console.WriteLine("Pizda jesteś, w takim razie spadasz o lvl i zabieramy Ci wszystkie zdobycze z plecaka"); ustawienia.Lvl--; ustawienia.Ekwipunek = "Twój plecak jest pusty!"; ustawienia.Statystyki(ustawienia.Lvl, ustawienia.Zycie, ustawienia.Dmg, ustawienia.Lokalizacja, ustawienia.Ekwipunek); WyjsciezGry(ustawienia); } } //--------------------------MORZE-------------------------- public void Morze(Rozgrywka ustawienia) { licznik_lokalizacji = licznik_lokalizacji + 2; Console.Write(" "); Console.BackgroundColor = ConsoleColor.Cyan; Console.ForegroundColor = ConsoleColor.White; Console.Write("Siema witamy w Stegnie"); Console.ResetColor(); Console.Write(""); Console.WriteLine(); Console.WriteLine(); Console.WriteLine(); Console.ResetColor(); Rozmowa(); ustawienia.Dialog("Wiesniak1", "Chyba pływa tu duża ryba"); ustawienia.Dialog("Baba", "Nie"); ustawienia.Dialog("Rekin", "Siema skurwysyny"); Console.WriteLine(); Console.WriteLine("Chcesz się rozejrzeć i zobaczyć czemu plaże są puste i czy plotki, które słyszałeś są słuszne \n idziesz na plażę sprawdzić, czy jest się czego bać?"); Console.WriteLine("Naciśnij ENTER, aby wybrać się na plażę"); Console.WriteLine(); ConsoleKeyInfo keyInfo = Console.ReadKey(true); if (keyInfo.Key == ConsoleKey.Enter) { Console.WriteLine("Widzisz nad brzegiem jakiegoś typa, co wyrzuca jakieś kawałki miesa czy chuj wie co do moża by zwabić rekinaBLEBLE"); Console.WriteLine("Rekin przypływa ten ziomek się wystraszył, uciekł i zostawił Ci łódkę i wiadro z tym chuj wie czym, dobra decyzja bracie, mozesz wyruszać na polowanie"); WalkazRekinem(ustawienia); } else { Console.WriteLine("Skoro nie masz kasy to musisz sie wykazac inteligencja"); ustawienia.Dialog("Wiesniak1", "bleble"); ustawienia.Dialog("Baba", "BLE"); Console.WriteLine("Cos sie dzieje, znajdujesz dzieki radom ludzi sklep, gdzie mozna wypozyczac lodzie"); //mozna gdzies dodac w lokalizacjach, ze dostajesz w nagrode czy cos pieniadze, bo tu sie przydadza if (ustawienia.Ekwipunek.Contains("kasa")) { Console.WriteLine("Wypozyczasz lodke, mozesz ruszac nad morze, walczyc z rekinem"); WalkazRekinem(ustawienia); } else { string zagadka3 = Console.ReadLine().ToLower(); int licznik3 = 3; for (int i = 1; i <= 3; i++) { if (zagadka3 == "chuj") { Console.WriteLine("Super {0}, odpowiedziales dobrze na pytanie, sprzedawca pozwala Ci wypozyczyc lodke", ustawienia.Imie); Console.WriteLine("Idziesz walczyć z rekinem"); WalkazRekinem(ustawienia); i = 3; } else { Console.WriteLine("To nie jest dobra odpowiedz! Twoje pozostałe próby: {0}", licznik3 - 1); zagadka3 = Convert.ToString(Console.ReadLine()); if (licznik3 <= 1) { Console.WriteLine("Niestety {0}, Twoje próby się skończyły, musimy Ci odebrać 5 punktów walki", ustawienia.Imie); ustawienia.Dmg = ustawienia.Dmg - 5; Console.WriteLine("Niestety sprzedawca nie pozwolil Ci wypozyczyc lodki, spadasz na nizszy lvl i w hańbie mozesz wybrac miejsce, do ktorego chcesz sie teraz udac"); ustawienia.Lvl--; WyjsciezGry(ustawienia); } licznik3--; } } } } } public void WalkazRekinem(Rozgrywka ustawienia) { Console.WriteLine("Wchodzisz na pokład i widzisz dużą skrzynię. Niestety jest zamknięta na hasło. Spróbuj ją otworzyć, może kryć coś ważnego"); Console.WriteLine("Odpowiedz na zagadkę"); string zagadka2 = Console.ReadLine().ToLower(); int licznik = 3; for (int i = 1; i <= 3; i++) { if (zagadka2 == "szczeki") { Console.WriteLine(); Console.ForegroundColor = ConsoleColor.Green; Console.WriteLine("Super {0}, otworzyłeś skrzynię, w środku znalazłeś harpun!", ustawienia.Imie); Console.ResetColor(); if (Ekwipunek.Contains("pusty")) ustawienia.Ekwipunek = "harpun"; else ustawienia.Ekwipunek += "harpun"; ustawienia.Lvl++; ustawienia.Statystyki(ustawienia.Lvl, ustawienia.Zycie, ustawienia.Dmg, ustawienia.Lokalizacja, ustawienia.Ekwipunek); i = 3; } else { Console.ForegroundColor = ConsoleColor.Red; Console.WriteLine("To nie jest dobre hasło! Twoje pozostałe próby: {0}", licznik - 1); zagadka2 = Convert.ToString(Console.ReadLine()); Console.ResetColor(); if (licznik <= 1) { Console.ForegroundColor = ConsoleColor.DarkRed; Console.WriteLine("Niestety {0}, Twoje próby się skończyły, musimy Ci odebrać 5 punktów walki", ustawienia.Imie); Console.ResetColor(); ustawienia.Dmg = ustawienia.Dmg - 5; Console.WriteLine("Pomimo tego, że nie otworzyłeś skrzyni, to znalazłeś obok niej wędkę, zawsze coś"); if (Ekwipunek.Contains("pusty")) ustawienia.Ekwipunek = "wędka"; else ustawienia.Ekwipunek += "wędka"; ustawienia.Statystyki(ustawienia.Lvl, ustawienia.Zycie, ustawienia.Dmg, ustawienia.Lokalizacja, ustawienia.Ekwipunek); } licznik--; } Console.WriteLine(); } int przyneta = 0; //int licznik2 = 0; int rzut; for (int i = 0; i <= 6; i++) { Console.WriteLine("Naciśnij spację, by wyrzucić trochę mięsa w morze"); ConsoleKeyInfo klawisz = Console.ReadKey(true); if (klawisz.Key == ConsoleKey.Spacebar) { Random random = new Random(); przyneta = random.Next(1, 10); if (przyneta < 5) { Console.WriteLine("Na horyzoncie nadal nie pojawia się płytwa grzbietowa rekina, rzucaj przynętę dalej"); } else { Console.WriteLine("Kątem oka, zauważyłeś rekina pływającego w pobliżu Twojej łodzi. Rzucaj dalej, moze podpłynie bliżej"); i = i + 3; } } else Console.WriteLine("Nie nacisnąłeś spacji. Spróbuj ponownie"); } Console.WriteLine("REKIN PODPŁYNĄŁ"); if (ustawienia.Ekwipunek.Contains("harpun")) { Random losowy = new Random(); rzut = losowy.Next(0, 2); if (rzut == 0) { Console.ForegroundColor = ConsoleColor.Red; Console.WriteLine("Nie udało Ci się trafić w rekina! Rekin atakuje Twoją łódź!"); ustawienia.Zycie = 0; Console.ForegroundColor = ConsoleColor.DarkRed; Console.WriteLine("GAME OVER, dziękujemy za grę"); Console.ResetColor(); ustawienia.Ekwipunek = ustawienia.Ekwipunek.Replace("harpun", ""); if (String.IsNullOrEmpty(ustawienia.Ekwipunek)) { ustawienia.Ekwipunek = "Twój plecak jest pusty"; } ustawienia.Statystyki(ustawienia.Lvl, ustawienia.Zycie, ustawienia.Dmg, ustawienia.Lokalizacja, ustawienia.Ekwipunek); Console.ReadLine(); Environment.Exit(0); } else { Console.ForegroundColor = ConsoleColor.Green; Console.WriteLine("Udało Ci się pokonać rekina!"); Console.ResetColor(); //jakies nagrody ustawienia.Statystyki(ustawienia.Lvl, ustawienia.Zycie, ustawienia.Dmg, ustawienia.Lokalizacja, ustawienia.Ekwipunek); WyjsciezGry(ustawienia); } } else if (ustawienia.Ekwipunek.Contains("wędka")) { Console.WriteLine("Rekin się rozmyślił i odpłynął, ciesz się, że nie musiałeś używać tej wędki, możesz ją zachować na pamiątkę"); ustawienia.Statystyki(ustawienia.Lvl, ustawienia.Zycie, ustawienia.Dmg, ustawienia.Lokalizacja, ustawienia.Ekwipunek); WyjsciezGry(ustawienia); } } } public class Program { static void Main(string[] args) { Console.SetWindowSize(210, 50); // Ustawienie szerokości i wysokości okna konsoli na 80x30 znaków Console.BackgroundColor = ConsoleColor.Red; Console.WriteLine("PRZYGODY W SENNEJ KOTLINIE"); Console.ResetColor(); 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"); Console.Write("Podaj swoje imię graczu: "); Rozgrywka ustawienia = new Rozgrywka(); string imie = Console.ReadLine(); ustawienia.Imie = imie; Rozgrywka.Staty_wysw delegat = ustawienia.Statystyki; Console.Clear(); delegat(ustawienia.Lvl, ustawienia.Zycie, ustawienia.Dmg, ustawienia.Lokalizacja, ustawienia.Ekwipunek); ustawienia.Wybor1(ustawienia); Console.ReadKey(); } } }
Editor is loading...