Untitled
unknown
plain_text
a year ago
59 kB
5
Indexable
Never
using System; using System.Collections.Generic; using System.Diagnostics.Eventing.Reader; using System.Linq; using System.Text; using System.Threading.Tasks; namespace Poprawione { public class Rozgrywka { public delegate void Staty_wysw(int lvl, int zycie, int dmg, string lokalizacja, string ekwipunek); //----------------------------GRACZ I POTWORY---------------------------- protected int lvl, dmg, zycie, dmg_w, zycie_w, zycie_y, dmg_y; protected string imie, lokalizacja, ekwipunek; //pozwala na dostęp wewnątrz klasy oraz z klasy dziedziczącej po tej klasie public int Lvl { get { return lvl; } //hermetyzacja 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 int Dmg_y { get { return dmg_y; } set { dmg_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 = 10; Zycie = 7; Dmg_w = 14; Zycie_w = 8; Zycie_y = 30; dmg_y = 24; 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.DarkMagenta; 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(""); } //---------------Wilkołak----------------- 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(); } //----------------Yeti------------------ public void Yeti(int dmg_y, int zycie_y) { this.dmg_y = dmg_y; this.zycie_y = zycie_y; } public void Statystyki_y(int zycie_y, int dmg_y) { Console.ForegroundColor = ConsoleColor.DarkGray; Console.WriteLine(""); Console.WriteLine(""); Console.WriteLine("----------------------------------------------------------------------------------"); Console.ResetColor(); Console.Write(" "); Console.BackgroundColor = ConsoleColor.DarkGray; Console.Write("STATYSTYKI Yetiego"); Console.ResetColor(); Console.WriteLine(); Console.ForegroundColor = ConsoleColor.DarkGray; string statystyki_y = $" \n Punkty życia Yetiego: {zycie_y} \n Punkty walki Wilkołaka: {dmg_y}"; Console.WriteLine(statystyki_y); 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."); Console.WriteLine(); Console.BackgroundColor = ConsoleColor.DarkBlue; Console.Write("Wybierz tą, którą podpowiada Ci serce: "); Console.WriteLine(); Console.ResetColor(); Console.WriteLine(); Console.BackgroundColor = ConsoleColor.DarkGreen; Console.Write(" 1 "); Console.ResetColor(); Console.Write(" -jeśli chcesz podążać mroczną leśną ścieżką"); Console.WriteLine(); Console.BackgroundColor = ConsoleColor.DarkGray; Console.Write(" 2 "); Console.ResetColor(); Console.Write(" -jeśli bliskie Ci wspinaczki górskie"); Console.WriteLine(); Console.BackgroundColor = ConsoleColor.DarkCyan; Console.Write(" 3 "); Console.ResetColor(); Console.Write(" -jeśli uspokaja Cię szum fal"); Console.WriteLine(); var 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! " + 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! " + 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! " + 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:"); } } //-----------Dialogi---------- 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(); } 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 { int licznik_lokalizacji = 0; //------------WYJŚCIE Z GRY------------ public void WyjsciezGry(Rozgrywka ustawienia) { //int licznik_lokalizacji = 0; if (licznik_lokalizacji == 10) { Console.WriteLine("Byłeś wszędzie" + base.Imie); Console.WriteLine("Dziękujemy za grę! Mam nadzieję, że Ci się podobało! Oto Twoje końcowe statystyki {0}: ", base.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ę"); Console.WriteLine(); Console.ForegroundColor = ConsoleColor.DarkGray; Console.WriteLine("naciśnij dowolny przycisk, by kontynuować, \nlub naciśnij ESC jeśli masz dosyć przygód i chcesz zakończyć grę w tym miejscu, w którym aktualnie jesteś"); Console.ResetColor(); while (grawtrakcie) { ConsoleKeyInfo wyjscie = Console.ReadKey(true); if (wyjscie.Key == ConsoleKey.Escape) { Console.Clear(); Console.ForegroundColor= ConsoleColor.DarkGray; 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"); Console.ResetColor(); ConsoleKeyInfo wyjscie_ostateczne = Console.ReadKey(true); if (wyjscie_ostateczne.Key == ConsoleKey.Enter) { Console.Clear(); Console.BackgroundColor = ConsoleColor.Red; Console.WriteLine("Dziękujemy za grę!"); Console.ResetColor(); Console.WriteLine("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); //za pomoca get i set odwołujemy się do własności jak do zwykłego publicznego pola grawtrakcie = false; Console.ReadLine(); Environment.Exit(0); } else { Console.Clear(); Console.WriteLine("Cieszymy się, że zostajesz z nami, teraz możesz wybrać swoją kolejną lokalizację"); WyborLokalizacji(ustawienia); } } else Console.Clear(); WyborLokalizacji(ustawienia); } } } //--------------------------WYBOR KOLEJNEJ LOKALIZACJI-------------------------- public void WyborLokalizacji(Rozgrywka ustawienia) { Console.WriteLine("Twoja ostatnia lokalizacja: " + ustawienia.Lokalizacja); var dobrywybor2 = false; switch (licznik_lokalizacji) { case 1: { Console.WriteLine("Byłeś tylko w lesie."); Console.ForegroundColor = ConsoleColor.DarkGray; Console.WriteLine("Po wybraniu następnej lokalizacji wciśnij ENTER"); Console.ResetColor(); Console.WriteLine(); Console.BackgroundColor = ConsoleColor.DarkGray; Console.Write(" 2 "); Console.ResetColor(); Console.Write(" -jeśli bliskie Ci wspinaczki górskie"); Console.WriteLine(); Console.BackgroundColor = ConsoleColor.DarkCyan; Console.Write(" 3 "); Console.ResetColor(); Console.Write(" -jeśli uspokaja Cię szum fal"); Console.WriteLine(); 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! " + base.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! " + base.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.WriteLine("Byłeś tylko nad morzem."); Console.ForegroundColor = ConsoleColor.DarkGray; Console.WriteLine("Po wybraniu następnej lokalizacji wciśnij ENTER"); Console.ResetColor(); Console.WriteLine(); Console.BackgroundColor = ConsoleColor.DarkGreen; Console.Write(" 1 "); Console.ResetColor(); Console.Write(" -jeśli chcesz podążać mroczną leśną ścieżką"); Console.WriteLine(); Console.BackgroundColor = ConsoleColor.DarkGray; Console.Write(" 2 "); Console.ResetColor(); Console.Write(" -jeśli bliskie Ci wspinaczki górskie"); Console.WriteLine(); 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! " + base.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! " + base.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.WriteLine("Byłeś nad morzem i w lesie. Pozostają Ci tylko góry, {0}!", base.Imie); ustawienia.Lokalizacja = "góry"; ustawienia.Statystyki(ustawienia.Lvl, ustawienia.Zycie, ustawienia.Dmg, ustawienia.Lokalizacja, ustawienia.Ekwipunek); Gory(ustawienia); break; } case 7: { Console.WriteLine("Byłeś tylko w górach."); Console.ForegroundColor = ConsoleColor.DarkGray; Console.WriteLine("Po wybraniu następnej lokalizacji wciśnij ENTER"); Console.ResetColor(); Console.WriteLine(); Console.BackgroundColor = ConsoleColor.DarkGreen; Console.Write(" 1 "); Console.ResetColor(); Console.Write(" -jeśli chcesz podążać mroczną leśną ścieżką"); Console.WriteLine(); Console.BackgroundColor = ConsoleColor.DarkCyan; Console.Write(" 3 "); Console.ResetColor(); Console.Write(" -jeśli uspokaja Cię szum fal"); Console.WriteLine(); 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! " + base.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! " + base.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.WriteLine("Byłeś w lesie i w górach. Pozostaje Ci tylko morze, {0}!", base.Imie); ustawienia.Lokalizacja = "morze"; ustawienia.Statystyki(ustawienia.Lvl, ustawienia.Zycie, ustawienia.Dmg, ustawienia.Lokalizacja, ustawienia.Ekwipunek); Morze(ustawienia); break; } case 9: { Console.WriteLine("Byłeś nad morzem i w górach. Pozostają Ci tylko las, {0}!", base.Imie); ustawienia.Lokalizacja = "las"; ustawienia.Statystyki(ustawienia.Lvl, ustawienia.Zycie, ustawienia.Dmg, ustawienia.Lokalizacja, ustawienia.Ekwipunek); Las(ustawienia); break; } } } //--------------------------LAS-------------------------- public void Las(Rozgrywka ustawienia) { Console.Clear(); licznik_lokalizacji++; Console.Write(" "); Console.BackgroundColor = ConsoleColor.DarkGreen; Console.ForegroundColor = ConsoleColor.White; Console.Write("LAS"); Console.ResetColor(); Console.ResetColor(); Console.WriteLine(); Console.WriteLine(); Console.WriteLine(); Console.WriteLine("Znalazł_ś się w lesie! Las jest obfity w leśne przysmaki, jako specjalny prezent otrzymujesz tojad!"); 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); Console.WriteLine(); 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.Clear(); Console.ForegroundColor = ConsoleColor.Green; Console.WriteLine("Super{0}, pokonał_ś zagadkę wiesniora, wchodzisz na nowy level", base.Imie); Console.ResetColor(); 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", base.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--; } } } public void WilkRozmowa() { Rozmowa(); Console.WriteLine("BLA BLA BLA"); Dialog("Wiesniak1", "Coś"); Dialog("Baba", "Okok"); Dialog("Twoja Stara", "Siema skurwysyny"); Console.WriteLine("zaczynamy fame mma"); } public void WalkazWilkiem(Rozgrywka ustawienia) { if (ustawienia.Ekwipunek.Contains("tojad")) { Console.WriteLine("Możesz pozbyć się wilkołaka bez walki, bo posiadasz tojad"); Console.ForegroundColor= ConsoleColor.DarkGray; Console.WriteLine("(Wcińsnij SPACJĘ aby rzucić tojad w wilkołaka)"); Console.ResetColor(); ConsoleKeyInfo klawisz = Console.ReadKey(true); if (klawisz.Key == ConsoleKey.Spacebar) { Console.Clear(); Console.ForegroundColor = ConsoleColor.Green; Console.WriteLine("Udało Ci się pokonać wilkołaka"); Console.ResetColor(); ustawienia.Zycie_w = 0; ustawienia.Ekwipunek = ustawienia.Ekwipunek.Replace("tojad", ""); 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: "); WyjsciezGry(ustawienia); } else { Console.Clear(); Console.ForegroundColor = ConsoleColor.Red; Console.WriteLine("Nie trafiłeś tojadem musisz sięz nim bić"); Console.ResetColor(); ustawienia.Ekwipunek = ustawienia.Ekwipunek.Replace("tojad", ""); WalkazWilkiem(ustawienia); } } else { Console.ForegroundColor = ConsoleColor.DarkGray; Console.WriteLine("Musisz stoczyć walkę z wilkołakiem, klikaj SPACJĘ, by pozbawić go punktów życia"); Console.ResetColor(); 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--; 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 - 1; 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 && ustawienia.Dmg>=0)) { Console.Clear(); Console.ForegroundColor = ConsoleColor.Green; Console.WriteLine("Wilkołak stracił wszystkie punkty życia! Oto statystyki Twoje, {0} oraz Twojego przeciwnika: ", base.Imie); Console.ResetColor(); 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: "); WyjsciezGry(ustawienia); } else if ((ustawienia.Zycie_w > 0 && ustawienia.Dmg_w>=0) && ustawienia.Zycie <= 0) { Console.Clear(); Console.ForegroundColor = ConsoleColor.Red; Console.WriteLine("Wilkołak Cię pokonał! Oto statystyki Twoje, {0} oraz Twojego przeciwnika: ", base.Imie); Console.ResetColor(); 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)|| (ustawienia.Dmg<=0 && ustawienia.Dmg_w<=0)) { Console.Clear(); Console.WriteLine("Nikt nie wygrał. Oto statystyki Twoje, {0} oraz Twojego przeciwnika: ", base.Imie); ustawienia.Statystyki(ustawienia.Lvl, ustawienia.Zycie, ustawienia.Dmg, ustawienia.Lokalizacja, ustawienia.Ekwipunek); ustawienia.Statystyki_w(ustawienia.Zycie_w, ustawienia.Dmg_w); Console.WriteLine("Wiesniak przychodzi i daje znowu zagadke i moze tym razem pokonasz wilkołaka"); WyjsciezGry(ustawienia); } } } //--------------------------GÓRY-------------------------- public void Gory(Rozgrywka ustawienia) { Console.Clear(); 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.Write("Wyczerpany podróżą, chcesz zebrać coś do żarcia u podnóża gór."); Console.WriteLine(); Console.BackgroundColor = ConsoleColor.Blue; Console.Write("Masz do wyboru:"); Console.ResetColor(); Console.WriteLine(); Console.WriteLine(" 1 - wilczełyko, \n 2 - borówka czernica, \n 3 - pokrzyk wilcza jagoda"); double wybor3; var 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.Clear(); Console.WriteLine("Wybrał_ś wilczełyko " + base.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.Clear(); Console.WriteLine("Wybrał_ś borówkę czernicę " + base.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.Clear(); Console.WriteLine("Wybrał_ś wilczą jagodę " + base.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.ForegroundColor = ConsoleColor.Red; Console.WriteLine("Dokonałeś złego wyboru! Wybierz poprawną liczbę, aby przejść dalej:"); Console.ResetColor(); } } else { Console.ForegroundColor = ConsoleColor.Red; Console.WriteLine("Dokonałeś złego wyboru! Wybierz poprawną liczbę, aby przejść dalej:"); Console.ResetColor(); } } Console.WriteLine("Zachowaj swoją zdobycz na później, myślę, że może Ci się przydać!"); Console.WriteLine(); 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(); 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(); 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(); Console.WriteLine("Wspinasz się wyżej i znajdujesz jakąś jaskinię czy coś, wchodzisz do środka?"); Console.ForegroundColor = ConsoleColor.DarkGray; Console.WriteLine(" Naciśnij ENTER, jeśli tak"); Console.ResetColor(); ConsoleKeyInfo przycisk = Console.ReadKey(true); if (przycisk.Key == ConsoleKey.Enter) { if (ustawienia.Ekwipunek.Contains("granat")) { Console.Clear(); Console.WriteLine("Spotykasz Yeti, zdajesz sobie sprawę, że dziecko dało Ci wcześniej przydatny prezent"); Console.ForegroundColor = ConsoleColor.Green; Console.WriteLine("Wysadzasz w powietrze jaskinię razem z yetim"); Console.ResetColor(); ustawienia.Zycie_y = 0; ustawienia.Ekwipunek = ustawienia.Ekwipunek.Replace("granat", ""); if (String.IsNullOrEmpty(ustawienia.Ekwipunek)) { ustawienia.Ekwipunek = "Twój plecak jest pusty"; } ustawienia.Statystyki_y(ustawienia.Zycie_y, ustawienia.Dmg_y); ustawienia.Statystyki(ustawienia.Lvl, ustawienia.Zycie, ustawienia.Dmg, ustawienia.Lokalizacja, ustawienia.Ekwipunek); Console.WriteLine("W nagrode dostajesz: "); WyjsciezGry(ustawienia); } else { Console.Clear(); 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.ForegroundColor = ConsoleColor.DarkGray; Console.WriteLine("Naciśnij spację, aby rzucić kamieniem"); Console.ResetColor(); ConsoleKeyInfo keyInfo = Console.ReadKey(true); if (keyInfo.Key == ConsoleKey.Spacebar) { Random random = new Random(); silarzutu = random.Next(2, 6); ustawienia.Zycie_y = ustawienia.Zycie_y - silarzutu; if (silarzutu < 4) { Console.ForegroundColor = ConsoleColor.Gray; 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 Console.ResetColor(); } else { Console.ForegroundColor = ConsoleColor.Green; 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); Console.ResetColor(); } } else { Console.ForegroundColor = ConsoleColor.Red; Console.WriteLine("Nie trafiłeś. Spróbuj ponownie..."); Console.ResetColor(); // odtwarzanie iteracji pętli, by gracz mógł naciśnąć ponownie spację } kamienie--; } if (ustawienia.Zycie_y > 0 && kamienie == 0) { Console.Clear(); Console.ForegroundColor = ConsoleColor.DarkRed; Console.WriteLine("Niestety nie dałeś rady pokonać yetiego - giniesz"); Console.ResetColor(); ustawienia.Statystyki_y(ustawienia.Dmg_y, ustawienia.Zycie_y); ustawienia.Statystyki(ustawienia.Lvl, ustawienia.Zycie, ustawienia.Dmg, ustawienia.Lokalizacja, ustawienia.Ekwipunek); Console.ForegroundColor= ConsoleColor.DarkGray; Console.WriteLine("Naciśnij dowolny przycisk aby wyjść z gry"); Console.ResetColor(); Console.ReadLine(); Environment.Exit(0); WyjsciezGry(ustawienia); } else if (ustawienia.Zycie_y == 0 && kamienie == 0) { Console.Clear(); Console.WriteLine("Remis"); ustawienia.Statystyki_y(ustawienia.Dmg_y, ustawienia.Zycie_y); ustawienia.Statystyki(ustawienia.Lvl, Zycie, ustawienia.Dmg, ustawienia.Lokalizacja, ustawienia.Ekwipunek); WyjsciezGry(ustawienia); } else if (ustawienia.Zycie_y == 0 && kamienie > 0) { Console.Clear(); Console.ForegroundColor = ConsoleColor.Green; Console.WriteLine("Wygrał_ś!"); Console.ResetColor(); ustawienia.Statystyki_y(ustawienia.Dmg_y, ustawienia.Zycie_y); ustawienia.Statystyki(ustawienia.Lvl, Zycie, ustawienia.Dmg, ustawienia.Lokalizacja, ustawienia.Ekwipunek); WyjsciezGry(ustawienia); } } } else { Console.ForegroundColor = ConsoleColor.Red; Console.WriteLine("Pizda jesteś, w takim razie spadasz o lvl i zabieramy Ci wszystkie zdobycze z plecaka"); Console.ResetColor(); 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.DarkCyan; Console.ForegroundColor = ConsoleColor.White; Console.Write("Siema witamy w Stegnie"); Console.ResetColor(); Console.Write(""); Console.WriteLine(); Console.WriteLine(); Console.WriteLine(); Console.ResetColor(); 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.ForegroundColor = ConsoleColor.DarkGray; Console.WriteLine("Naciśnij ENTER, aby wybrać się na plażę"); Console.ResetColor(); Console.WriteLine(); ConsoleKeyInfo keyInfo = Console.ReadKey(true); if (keyInfo.Key == ConsoleKey.Enter) { Console.Clear(); 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.Clear(); 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", base.Imie); Console.WriteLine("Idziesz walczyć z rekinem"); WalkazRekinem(ustawienia); i = 3; } else { Console.ForegroundColor= ConsoleColor.Red; Console.WriteLine("To nie jest dobra odpowiedz! Twoje pozostałe próby: {0}", licznik3 - 1); Console.ResetColor(); zagadka3 = Convert.ToString(Console.ReadLine()); if (licznik3 <= 1) { Console.ForegroundColor = ConsoleColor.DarkRed; Console.WriteLine("Niestety {0}, Twoje próby się skończyły, musimy Ci odebrać 5 punktów walki", base.Imie); Console.ResetColor(); 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(); Console.BackgroundColor= ConsoleColor.Blue; Console.Write("Odpowiedz na zagadkę"); Console.ResetColor(); Console.WriteLine(); string zagadka2 = Console.ReadLine().ToLower(); int licznik = 3; for (int i = 1; i <= 3; i++) { if (zagadka2 == "szczeki") { Console.Clear(); Console.ForegroundColor = ConsoleColor.Green; Console.WriteLine("Super{0}, otworzyłeś skrzynię, w środku znalazłeś harpun!", base.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); Console.ResetColor(); zagadka2 = Convert.ToString(Console.ReadLine()); 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", base.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 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.ForegroundColor = ConsoleColor.Red; Console.WriteLine("Nie nacisnąłeś spacji. Spróbuj ponownie"); Console.ResetColor(); } Console.Clear(); Console.ForegroundColor = ConsoleColor.Green; Console.WriteLine("REKIN PODPŁYNĄŁ"); Console.ResetColor(); 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.Clear(); 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.Clear(); 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.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"); Rozgrywka ustawienia = new Rozgrywka(); string imie = Console.ReadLine(); Console.Clear(); ustawienia.Imie = imie; Rozgrywka.Staty_wysw delegat = ustawienia.Statystyki; delegat(ustawienia.Lvl, ustawienia.Zycie, ustawienia.Dmg, ustawienia.Lokalizacja, ustawienia.Ekwipunek); ustawienia.Wybor1(ustawienia); Console.ReadKey(); } } }