using System;
using System.Collections.Generic;
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 = 10;
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.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 Yeti(int dmg_y, int zycie_y)
{
this.dmg_y = dmg_y;
this.zycie_y = zycie_y;
}
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();
}
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. \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");
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.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.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.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:");
}
}
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ę, 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); //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.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);
var dobrywybor2 = false;
switch (licznik_lokalizacji)
{
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 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! " + 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.\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! " + 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. 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! " + 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)
{
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("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);
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.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.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 WalkazWilkiem(Rozgrywka ustawienia)
{
Rozmowa();
Console.WriteLine("BLA BLA BLA");
Dialog("Wiesniak1", "Coś");
Dialog("Baba", "Okok");
Dialog("Twoja Stara", "Siema skurwysyny");
Console.WriteLine("zaczynamy fame mma");
if (ustawienia.Ekwipunek.Contains("tojad"))
{
Console.WriteLine("Możesz pozbyć się wilkołaka bez walki, bo posiadasz tojad");
ustawienia.Zycie_w = 0;
ustawienia.Ekwipunek = ustawienia.Ekwipunek.Replace("tojad", "");
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: ");
WyjsciezGry(ustawienia);
}
else
{
Console.WriteLine("Musisz stoczyć walkę z wilkołakiem, klikaj spację, by pozbawić go 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.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.Zycie <= 0)
{
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)
{
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)
{
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;
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.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.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.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.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, 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();
}
Console.WriteLine(i);
}
else
{
Console.ForegroundColor = ConsoleColor.Red;
Console.WriteLine("Nie nacisnąłeś spacji. Spróbuj ponownie...");
Console.ResetColor();
i++; // odtwarzanie iteracji pętli, by gracz mógł naciśnąć ponownie spację
}
kamienie--;
}
Console.WriteLine("Dziala");
Console.WriteLine(kamienie);
if (ustawienia.Zycie_y > 0 && kamienie == 0)
{
Console.ForegroundColor = ConsoleColor.DarkRed;
Console.WriteLine("Niestety nie dałeś rady pokonać yetiego");
Console.ResetColor();
Statystyki_y(ustawienia.Dmg_y, ustawienia.Zycie_y);
WyjsciezGry(ustawienia);
}
else if (ustawienia.Zycie_y == 0 && kamienie == 0)
{
Console.WriteLine("Remis");
Statystyki_y(ustawienia.Dmg_y, ustawienia.Zycie_y);
WyjsciezGry(ustawienia);
}
else if (ustawienia.Zycie_y == 0 && kamienie > 0)
{
Console.ForegroundColor = ConsoleColor.Green;
Console.WriteLine("Wygrał_ś!");
Console.ResetColor();
Statystyki_y(ustawienia.Dmg_y, ustawienia.Zycie_y);
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();
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", base.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", base.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!", 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.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.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();
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();
}
}
}