using System;
using System.Collections.Generic;
namespace zWYKŁADAMI
{
public class Rozgrywka
{
//----------------------------GRACZ I POTWORY----------------------------
private int lvl, dmg, zycie, dmg_w, zycie_w;
private string imie, lokalizacja, ekwipunek;
public void SetLvl(int lvl)
{
this.lvl = lvl;
}
public int GetLvl()
{
return this.lvl;
}
public void SetDmg(int dmg)
{
this.dmg = dmg;
}
public int GetDmg()
{
return this.dmg;
}
public void SetZycie(int zycie)
{
this.zycie = zycie;
}
public int GetZycie()
{
return this.zycie;
}
public void SetDmg_w(int dmg_w)
{
this.dmg_w = dmg_w;
}
public int GetDmg_w()
{
return this.dmg_w;
}
public void SetZycie_w(int zycie_w)
{
this.zycie_w = zycie_w;
}
public int GetZycie_w()
{
return this.zycie_w;
}
public void SetImie(string imie)
{
this.imie = imie;
}
public string GetImie()
{
return this.imie;
}
public void SetLokalizacja(string lokalizacja)
{
this.lokalizacja = lokalizacja;
}
public string GetLokalizacja()
{
return this.lokalizacja;
}
public void SetEkwipunek(string ekwipunek)
{
this.ekwipunek = ekwipunek;
}
public string GetEkwipunek()
{
return this.ekwipunek;
}
public Rozgrywka() //konstruktor
{
SetLvl(1);
SetDmg(20);
SetZycie(10);
SetDmg_w(14);
SetZycie(8);
SetLokalizacja("Senna Kotlina - START");
SetEkwipunek("Twój plecak jest pusty");
}
public void Statystyki(int lvl, int zycie, int dmg, string lokalizacja, string ekwipunek)
{
Console.WriteLine("----------------------------------------------------------------");
Console.WriteLine(" STATYSTYKI GRACZA - " + GetImie());
string statystyki = $" \n Twój poziom gry: {lvl} \n Twoje punkty życia: {zycie} \n Twoje punkty walki: {dmg} \n Twoja aktualna lokalizacja: {lokalizacja} \n Zawartość Twojego plecaka: {ekwipunek},"; //łańcuch interpolowany
Console.WriteLine(statystyki);
Console.WriteLine("----------------------------------------------------------------");
}
public void Wilkolak(int dmg_w, int zycie_w)
{
this.dmg_w = dmg_w;
this.zycie_w = zycie_w;
}
public void Statystyki_w(int zycie_w, int dmg_w)
{
Console.ForegroundColor = ConsoleColor.Blue;
Console.WriteLine("----------------------------------------------------------------");
Console.WriteLine(" STATYSTYKI WILKOŁAKA");
string statystyki_w = $" \n Punkty życia Wilkołaka: {zycie_w} \n Punkty walki Wilkołaka: {dmg_w}"; //łańcuch interpolowany
Console.WriteLine(statystyki_w);
Console.WriteLine("----------------------------------------------------------------");
Console.ResetColor();
}
//------------PIERWSZY WYBÓR------------
public void Wybor1(Rozgrywka ustawienia)
{
Console.WriteLine("Stajesz przed swoim pierwszym poważnym wyborem. \n Przed Tobą rozciągają się trzy ścieżki. \n BLABLABLA Wybierz tą, którą podpowiada Ci serce: ");
Console.WriteLine("Wybierz: \n 1 - jeśli chcesz podążać mroczną leśną ścieżką \n 2 - jeśli bliskie Ci wspinaczki górskie \n 3 - jeśli uspokaja Cię szum fal");
bool dobrywybor1 = false;
while (!dobrywybor1)
{
ConsoleKeyInfo keyInfo = Console.ReadKey();
Console.WriteLine();
if (Char.IsDigit(keyInfo.KeyChar))
{
double wybor1 = double.Parse(keyInfo.KeyChar.ToString());
if (wybor1 == 1)
{
Console.WriteLine("Wybrałeś mroczną leśną ścieżkę. Przed Tobą pierwsze wyzwanie! " + GetImie());
ustawienia.SetLokalizacja("las");
Statystyki(ustawienia.GetLvl(), ustawienia.GetZycie(), ustawienia.GetDmg(), ustawienia.GetLokalizacja(), ustawienia.GetEkwipunek());
Lokalizacje lokalizacje = new Lokalizacje(); // tworzenie obiektu klasy Lokalizacje
lokalizacje.Las(ustawienia); // wywołanie metody Las na obiekcie lokalizacje
dobrywybor1 = true;
}
else if (wybor1 == 2)
{
Console.WriteLine("Wybrałeś wspinaczki górskie. Przed Tobą pierwsze wyzwanie! " + GetImie());
ustawienia.SetLokalizacja("góry");
Statystyki(ustawienia.GetLvl(), ustawienia.GetZycie(), ustawienia.GetDmg(), ustawienia.GetLokalizacja(), ustawienia.GetEkwipunek());
dobrywybor1 = true;
}
else if (wybor1 == 3)
{
Console.WriteLine("Wybrałeś szum fal. Przed Tobą pierwsze wyzwanie! " + GetImie());
ustawienia.SetLokalizacja("morze");
Statystyki(ustawienia.GetLvl(), ustawienia.GetZycie(), ustawienia.GetDmg(), ustawienia.GetLokalizacja(), ustawienia.GetEkwipunek());
dobrywybor1 = true;
}
else
{
Console.WriteLine("Dokonałeś złego wyboru! Wybierz poprawną liczbę, aby przejść dalej:");
wybor1 = Convert.ToDouble(Console.ReadLine());
}
}
else
Console.WriteLine("Dokonałeś złego wyboru! Wybierz poprawną liczbę, aby przejść dalej:");
}
}
public void Dialog(string postac, string kwestia)
{
ConsoleColor kolor;
if (postac == "Wiesniak1")
{
kolor = ConsoleColor.Blue;
}
else if (postac == "Baba")
{
kolor = ConsoleColor.Red;
}
else
{
kolor = ConsoleColor.DarkMagenta;
}
Console.ForegroundColor = kolor;
Console.WriteLine(postac + ": " + kwestia);
Console.ResetColor();
}
}
public class Lokalizacje : Rozgrywka
{
public int[] odwiedzone_lokalizacje = new int[3];
public void Las(Rozgrywka ustawienia)
{
odwiedzone_lokalizacje[0] = 1;
Console.WriteLine("Znalazł_ś się w lesie! Las jest obfity w leśne przysmaki, jako specjalny prezent otrzymujesz tojad!");
if (ustawienia.GetEkwipunek().Contains("pusty"))
ustawienia.SetEkwipunek("tojad"); // ustawia wartość pola ekwipunek za pomocą setera
else
ustawienia.SetEkwipunek(ustawienia.GetEkwipunek() + ", " + "tojad");
string zawartoscPlecaka = ustawienia.GetEkwipunek(); // odczytuje wartość pola ekwipunek za pomocą getera
Console.WriteLine("Zawartość Twojego plecaka: " + zawartoscPlecaka);
Console.WriteLine("Rozwinięcie");
Dialog("Wiesniak1", "Cześć, jak się masz?");
Dialog("Baba", "Witaj! Mam się świetnie.");
Dialog("Wilk", "Siema skurwysyny");
Console.WriteLine("Wiesniak daje Ci wskazowke ukryta w wierszu, musisz to rozwiazac. Podaj poprawną odpowiedz");
string zagadka1 = Console.ReadLine().ToLower();
int licznik = 3;
for (int i = 1; i <= 3; i++)
{
if (zagadka1 == "dobra")
{
Console.WriteLine("Super {0}, pokonał_ś zagadkę wiesniora, wchodzisz na nowy level", ustawienia.GetImie());
ustawienia.SetLvl(ustawienia.GetLvl() + 1);
ustawienia.Statystyki(ustawienia.GetLvl(), ustawienia.GetZycie(), ustawienia.GetDmg(), ustawienia.GetLokalizacja(), ustawienia.GetEkwipunek());
WalkazWilkiem(ustawienia);
i = 3;
}
else
{
Console.WriteLine("Odpowiedział_ś źle! Twoje pozostałe próby: {0}", licznik - 1);
licznik--;
zagadka1 = Convert.ToString(Console.ReadLine());
if (licznik <= 1)
{
Console.WriteLine("Niestety {0}, Twoje próby się skończyły, musimy Ci odebrać 5 punktów walki", ustawienia.GetImie());
ustawienia.SetDmg(ustawienia.GetDmg() - 5);
ustawienia.Statystyki(ustawienia.GetLvl(), ustawienia.GetZycie(), ustawienia.GetDmg(), ustawienia.GetLokalizacja(), ustawienia.GetEkwipunek());
Console.WriteLine("Pomimo to, nie poddawaj się!! Musimy ruszać dalej!");
WalkazWilkiem(ustawienia);
}
}
}
}
public void WalkazWilkiem(Rozgrywka ustawienia)
{
Console.WriteLine("BLA BLA BLA");
Dialog("Wiesniak1", "Coś");
Dialog("Baba", "Okok");
Dialog("Twoja Stara", "Siema skurwysyny");
Console.WriteLine("zaczynamy fame mma");
if (ustawienia.GetEkwipunek().Contains("tojad"))
{
Console.WriteLine("Możesz pozbyć się wilkołaka bez walki, bo posiadasz tojad");
ustawienia.SetZycie_w(ustawienia.GetZycie_w() - GetZycie_w());
ustawienia.SetEkwipunek(ustawienia.GetEkwipunek().Replace("tojad", ""));
if (String.IsNullOrEmpty(ustawienia.GetEkwipunek()))
{
ustawienia.SetEkwipunek("Twój plecak jest pusty");
}
ustawienia.Statystyki(ustawienia.GetLvl(), ustawienia.GetZycie(), ustawienia.GetDmg(), ustawienia.GetLokalizacja(), ustawienia.GetEkwipunek());
ustawienia.Statystyki_w(ustawienia.GetZycie_w(), ustawienia.GetDmg_w());
Console.WriteLine("W nagrode dostajesz: ");
// WyborLokalizacji(settings);
}
else
{
Console.WriteLine("Musisz stoczyć walkę z wilkołakiem, klikaj spację, by pozbawić go punktów życia");
while (ustawienia.GetZycie_w() > 0 && ustawienia.GetZycie() > 0 && ustawienia.GetDmg() > 0 || ustawienia.GetDmg_w() > 0)
{
ConsoleKeyInfo keyInfo = Console.ReadKey(true);
if (keyInfo.Key == ConsoleKey.Spacebar)
{
if (ustawienia.GetDmg() > 0)
{
ustawienia.SetZycie_w(ustawienia.GetZycie_w() - 1);
ustawienia.SetDmg(ustawienia.GetDmg() - 2);
Console.ForegroundColor = ConsoleColor.DarkRed;
Console.WriteLine("Zadajesz obrażenia wilkołakowi! Pozostałe punkty życia wilkołaka: " + ustawienia.GetZycie_w());
Console.ResetColor();
}
if (ustawienia.GetDmg_w() > 0)
{
ustawienia.SetZycie(ustawienia.GetZycie() - 1);
ustawienia.SetDmg_w(ustawienia.GetDmg_w() - 2);
Console.ForegroundColor = ConsoleColor.DarkBlue;
Console.WriteLine("Wilkołak zadał Ci obrażenia! Twoje pozostałe punkty życia: " + ustawienia.GetZycie());
Console.ResetColor();
}
}
}
if (ustawienia.GetZycie_w() <= 0 && ustawienia.GetZycie() > 0)
{
Console.WriteLine("Wilkołak stracił wszystkie punkty życia! Oto statystyki Twoje, {0} oraz Twojego przeciwnika: ", ustawienia.GetImie());
ustawienia.Statystyki(ustawienia.GetLvl(), ustawienia.GetZycie(), ustawienia.GetDmg(), ustawienia.GetLokalizacja(), ustawienia.GetEkwipunek());
ustawienia.Statystyki_w(ustawienia.GetZycie_w(), ustawienia.GetDmg_w());
Console.WriteLine("W nagrode dostajesz: ");
// WyborLokalizacji(settings);
}
else if (ustawienia.GetZycie_w() > 0 && ustawienia.GetZycie() <= 0)
{
Console.WriteLine("Wilkołak Cię pokonał! Oto statystyki Twoje, {0} oraz Twojego przeciwnika: ", ustawienia.GetImie());
ustawienia.Statystyki(ustawienia.GetLvl(), ustawienia.GetZycie(), ustawienia.GetDmg(), ustawienia.GetLokalizacja(), ustawienia.GetEkwipunek());
ustawienia.Statystyki_w(ustawienia.GetZycie_w(), ustawienia.GetDmg_w());
Console.WriteLine("Nie udało Ci się go pokonać, spadasz na niższy lvl. Ruszaj w dalszą podróż!");
// WyborLokalizacji(settings);
}
else if (ustawienia.GetZycie_w() >= 0 && ustawienia.GetZycie() >= 0)
{
Console.WriteLine("Nikt nie wygrał. Oto statystyki Twoje, {0} oraz Twojego przeciwnika: ", ustawienia.GetImie());
ustawienia.Statystyki(ustawienia.GetLvl(), ustawienia.GetZycie(), ustawienia.GetDmg(), ustawienia.GetLokalizacja(), ustawienia.GetEkwipunek());
ustawienia.Statystyki_w(ustawienia.GetZycie_w(), ustawienia.GetDmg_w());
Console.WriteLine("Wiesniak przychodzi i daje znowu zagadke i moze tym razem pokonasz wilkołaka");
// WyborLokalizacji(settings);
}
}
}
}
public class Program
{
static void Main(string[] args)
{
Console.WriteLine("PRZYGODY W SENNEJ KOTLINIE");
Console.WriteLine("Witam w Sennej Kotlinie");
Console.WriteLine("Dzisiaj stoczysz walkę dobra ze złem, próbując uratować mieszkańców Sennej Kotliny. \n Pamiętaj, że każdy wybór ma swoje konsekwencje, a czasu nie można cofnąć. \n Słuchaj swojej intuicji, ale również nie zapominaj o logicznym myśleniu. \n Poza tym baw się dobrze i nie daj się pożreć!!");
Console.WriteLine("Na sam początek podaj nam swój przydomek, byśmy wiedzieli jak się zwracać do przyszłego bohatera Sennej Kotliny");
Rozgrywka ustawienia = new Rozgrywka();
string imie = Console.ReadLine();
ustawienia.SetImie(imie);
ustawienia.Wybor1(ustawienia);
Console.ReadKey();
}
}
}