Created
August 23, 2017 13:25
-
-
Save PiotrJander/55a4d27dd0f8cae7b5bce27883fcbffc to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#include <cstdio> | |
#include "funkcje.h" | |
#include "klasy.h" | |
#include <conio.h> | |
//#include "silnik.h" | |
//deklaracja obiekt�w: | |
gracz geralt; | |
gracz wrog; | |
przedmiot rzecz[6]; | |
//deklaracja zmiennych: | |
int a; | |
float k; | |
float obrazenia; | |
bool byl_tu; | |
bool byl_u_karczmarza; | |
bool byl_u_kupca; | |
bool byl_przy_stole; | |
bool byl_u_pijaka; | |
bool byl_u_szlachcica; | |
//ciala funkcji: | |
//############################################################################ | |
int msleep(unsigned ms) | |
{ | |
#if defined(WIN32) || defined(_WIN32) || defined(__WIN32) && !defined(__CYGWIN__) | |
SetLastError(0); | |
Sleep(ms); | |
return GetLastError() ?-1 :0; | |
#else | |
return usleep(1000 * ms); | |
#endif | |
} | |
int anim() //funkcja tworzy animacje strzalki wejscia i odbiera od uzytkownika odpowiedz | |
{ | |
cout<<endl<<endl; | |
for(int i=0; i<9; i++) | |
{ | |
cout<<">"; | |
msleep(60); | |
} | |
cout<<" "; | |
cin>>a; | |
} | |
//############################################################################# | |
void ekwip() //funkcja rysuje tabelke z informacjami o Geralcie | |
{ | |
if(geralt.zdrowie<0) {geralt.zdrowie=0;} | |
cout<<endl<<endl<<endl<<endl<<endl; | |
cout<<"|| TWOJA POSTAC: "<<endl; | |
cout<<"||----------------------------------------------------------"<<endl; | |
cout<<"|| Zdrowie: "<<geralt.zdrowie<<" %"<<endl; | |
cout<<"|| Zatrucie: "<<geralt.zatrucie<<" %"<<endl; | |
cout<<"|| Pieniadze: "<<geralt.forsa<<" [w orenach]"<<endl; | |
cout<<"|| Przedmioty: -"<<geralt.miecz_srebrny_nazwa<<" (atak: "<<geralt.miecz_srebrny<<")"<<endl; | |
cout<<"|| -"<<geralt.miecz_stalowy_nazwa<<" (atak: "<<geralt.miecz_stalowy<<")"<<endl; | |
cout<<"|| -"<<geralt.pancerz_nazwa<<" (obrona: "<<geralt.pancerz<<")"<<endl; | |
cout<<"|| -"<<"Eliksir (x"<<geralt.eliksy<<")"<<endl; | |
cout<<"|| -"<<rzecz[4].nazwa<<endl; | |
cout<<"|| -"<<rzecz[5].nazwa<<endl; | |
cout<<"||__________________________________________________________"<<endl; | |
} | |
//######################################################################### | |
void ustaw_parametry() // funkcja sprawdza uzbrojenie bohatera i ustawia odpowiednie wartosci parametrow. | |
{ | |
geralt.zdrowie=geralt.zdrowie+5; | |
if(geralt.zdrowie>100) {geralt.zdrowie=100;} | |
if(geralt.zdrowie<0) {geralt.zdrowie=0;} | |
if(geralt.zdrowie==0) {koniec_gry1();} | |
geralt.zatrucie=geralt.zatrucie-3; | |
if(geralt.zatrucie>100) {geralt.zatrucie=100; koniec_gry1();} | |
if(geralt.zatrucie<0) {geralt.zatrucie=0;} | |
if(geralt.zatrucie==100) {koniec_gry1();} | |
//########################################MIECZ SREBRNY | |
if(geralt.miecz_srebrny_nazwa=="brak") | |
{geralt.miecz_srebrny=0;} | |
if(geralt.miecz_srebrny_nazwa=="Kiepski miecz srebrny") | |
{geralt.miecz_srebrny=20;} | |
if(geralt.miecz_srebrny_nazwa=="Zwykly miecz srebrny") | |
{geralt.miecz_srebrny=40;} | |
if(geralt.miecz_srebrny_nazwa=="Dobry miecz srebrny") | |
{geralt.miecz_srebrny=60;} | |
if(geralt.miecz_srebrny_nazwa=="Znakomity miecz srebrny") | |
{geralt.miecz_srebrny=80;} | |
if(geralt.miecz_srebrny_nazwa=="Elitarny miecz srebrny") | |
{geralt.miecz_srebrny=95;} | |
//##########################################MIECZ STALOWY | |
if(geralt.miecz_stalowy_nazwa=="brak") | |
{geralt.miecz_stalowy=0;} | |
if(geralt.miecz_stalowy_nazwa=="Kiepski miecz stalowy") | |
{geralt.miecz_stalowy=20;} | |
if(geralt.miecz_stalowy_nazwa=="Zwykly miecz stalowy") | |
{geralt.miecz_stalowy=40;} | |
if(geralt.miecz_stalowy_nazwa=="Dobry miecz stalowy") | |
{geralt.miecz_stalowy=60;} | |
if(geralt.miecz_stalowy_nazwa=="Znakomity miecz stalowy") | |
{geralt.miecz_stalowy=80;} | |
if(geralt.miecz_stalowy_nazwa=="Elitarny miecz stalowy") | |
{geralt.miecz_stalowy=95;} | |
//###########################################ZBROJA | |
if(geralt.pancerz_nazwa=="brak") | |
{geralt.pancerz=0;} | |
if(geralt.pancerz_nazwa=="Kiepska zbroja") | |
{geralt.pancerz=20;} | |
if(geralt.pancerz_nazwa=="Zwykla zbroja") | |
{geralt.pancerz=40;} | |
if(geralt.pancerz_nazwa=="Dobra zbroja") | |
{geralt.pancerz=60;} | |
if(geralt.pancerz_nazwa=="Znakomita zbroja") | |
{geralt.pancerz=80;} | |
if(geralt.pancerz_nazwa=="Elitarna zbroja") | |
{geralt.pancerz=95;} | |
} | |
//################################################################## | |
void eliksir_TAK() //ustawia dzialanie eliksiru | |
{ | |
geralt.zdrowie=(geralt.zdrowie+0.33*geralt.zdrowie); | |
geralt.miecz_srebrny=(geralt.miecz_srebrny*1.33); | |
geralt.miecz_stalowy=(geralt.miecz_stalowy*1.33); | |
geralt.pancerz=(geralt.pancerz*1.33); | |
geralt.sila=1.3*geralt.sila; | |
geralt.eliksy=geralt.eliksy-1; | |
geralt.zatrucie=geralt.zatrucie+geralt.toksycznosc_eliksiru; | |
} | |
//################################################################## | |
void start() //pierwszy napis, czeka na enter (ewentualnie moze byc czasowo) | |
{ | |
cl(); | |
cout<<"-----------------------------------------"<<endl; | |
cout<<"-:: Wiedzmin: Na nieznanych sciezkach ::-"<<endl; | |
cout<<"-----------------------------------------"<<endl<<endl<<endl; | |
cout<<"CDProjektor, 2013."<<endl<<endl; | |
cout<<"By Krzysztof Wasiak."<<endl; | |
msleep(4000); | |
getch(); | |
poczatek(); | |
} | |
//#################################################################### | |
void poczatek() //poczatek rozgrywki, przypisanie podstawowych wartosci parametrom Geralta | |
{ | |
byl_u_szlachcica=false; | |
byl_u_karczmarza=false; | |
byl_u_kupca=false; | |
byl_przy_stole=false; | |
byl_u_pijaka=false; | |
geralt.walka_na_miecz_srebrny=false; | |
geralt.walka_na_miecz_stalowy=false; | |
geralt.walka_na_piesci=false; | |
wrog.walka_na_miecz_srebrny=false; | |
wrog.walka_na_miecz_stalowy=false; | |
wrog.walka_na_piesci=false; | |
wrog.miecz_srebrny=5; | |
wrog.miecz_stalowy=5; | |
wrog.sila=5; | |
k=1; | |
geralt.forsa=250; | |
geralt.zdrowie=100; | |
geralt.zatrucie=0; | |
geralt.toksycznosc_eliksiru=20; | |
geralt.eliksy=3; | |
geralt.sila=10; | |
geralt.miecz_srebrny_nazwa="Kiepski miecz srebrny"; | |
geralt.miecz_stalowy_nazwa="Kiepski miecz stalowy"; | |
geralt.pancerz_nazwa="Kiepska zbroja"; | |
rzecz[0].nazwa=geralt.miecz_srebrny_nazwa; | |
rzecz[1].nazwa=geralt.miecz_stalowy_nazwa; | |
rzecz[2].nazwa=geralt.pancerz_nazwa; | |
ustaw_parametry(); | |
cl(); | |
cout<<"W takim razie witaj w Temerii, wiedzminie! Poszukujesz przygod? Dobrze zrobisz odwiedzajac karczme..."<<endl<<endl; | |
cout<<"1. Jasne, wchodze do karczmy."<<endl; | |
cout<<"9. POMOC."<<endl; | |
ekwip(); | |
anim(); | |
switch(a) | |
{ | |
case 1: animacja_prologu(); | |
case 9: pomoc(); | |
case 0: koniec_gry1(); | |
default: {cl();cout<<"Ale nie oszukujemy!"<<endl;getch();poczatek();} | |
} | |
} | |
//######################################################################## | |
void koniec_gry1() //funkcja czeka na wybor - konczyc czy nie - i ewntualnie zaczyna nowa gre | |
{ | |
cl(); | |
ustaw_parametry(); | |
cout<<"Niestety, giniesz w wyniku odniesionych ran. Gra skonczona."<<endl<<endl; | |
cout<<"1. Gram jeszce raz."<<endl; | |
cout<<"2. Wychodze z gry."<<endl; | |
anim(); | |
switch(a) | |
{ | |
case 1: poczatek(); | |
case 2: exit(1); | |
case 0: exit(1); | |
default: koniec_gry1(); | |
} | |
} | |
//########################################################################## | |
void pomoc() //przed rozpoczeciem rozgrywki | |
{ | |
cl(); | |
cout<<"Witaj w grze RPG, jaka jest Wiedzmin 2013."<<endl<<endl; | |
cout<<"Aby grac, musisz wybrac odpowiednia opcje i zatwierdzic przyciskiem ENTER."<<endl; | |
cout<<"Mozesz w dowolnym momencie wyjsc z gry, wybierajac 0."<<endl; | |
cout<<"Nie trolluj i wybieraj tylko znaki, o ktore Cie prosza."<<endl; | |
cout<<"Powyzsze odnosi sie szczegolnie do Marcina J."<<endl; | |
cout<<"Przed walka mozesz sie napic eliksiru, pod warunkiem, ze takowy posiadasz."<<endl; | |
cout<<"Mozesz sie go napic w dowolnym momencie, jednak jesli nie bedzie to w czasie walki, jedyne co zyskasz"; | |
cout<<" to przywrocenie zdrowia do poziomu maksymalnego (100%), premie do broni nie beda naliczane."<<endl; | |
cout<<"Pamietaj, kazdy wybor bedzie mial wplyw na pozniejsze zdarzenia."<<endl; | |
cout<<"Zycze milej zabawy."<<endl<<endl; | |
getch(); | |
poczatek(); | |
} | |
//################################################################## | |
//musisz podac: wrog.zdrowie, wrog.sila, wrog.pancerz | |
int obrazenia_wroga() | |
{ | |
float obrazenia1; | |
int losowa=(rand()%33+1); | |
if(geralt.walka_na_miecz_stalowy==true) | |
{ | |
obrazenia1=(losowa+(((geralt.sila+geralt.miecz_stalowy)/100)*losowa)-(wrog.pancerz/100)*(losowa+(((geralt.sila+geralt.miecz_stalowy)/100)*losowa))); | |
} | |
if(geralt.walka_na_miecz_srebrny==true) | |
{ | |
obrazenia1=(losowa+(((geralt.sila+geralt.miecz_srebrny)/100)*losowa)-(wrog.pancerz/100)*(losowa+(((geralt.sila+geralt.miecz_srebrny)/100)*losowa))); | |
} | |
if(geralt.walka_na_piesci==true) | |
{ | |
obrazenia1=(losowa+(((geralt.sila)/100)*losowa)-((wrog.pancerz/100)*(losowa+(((geralt.sila/100)*losowa))))); | |
} | |
wrog.zdrowie=wrog.zdrowie-obrazenia1; | |
obrazenia=obrazenia1; | |
geralt.walka_na_piesci=false; | |
geralt.walka_na_miecz_stalowy=false; | |
geralt.walka_na_miecz_srebrny=false; | |
} | |
int obrazenia_geralta() | |
{ | |
float obrazenia1; | |
int losowa=(rand()%33+1); | |
if(wrog.walka_na_piesci==true) | |
{ | |
obrazenia1=k*(losowa+(((wrog.sila)/100)*losowa)-(geralt.pancerz/100)*(losowa+(((wrog.sila)/100)*losowa))); | |
} | |
if(wrog.walka_na_miecz_stalowy==true) | |
{ | |
obrazenia1=k*(losowa+(((wrog.sila+wrog.miecz_stalowy)/100)*losowa)-(geralt.pancerz/100)*(losowa+(((wrog.sila+wrog.miecz_stalowy)/100)*losowa))); | |
} | |
if(wrog.walka_na_miecz_srebrny==true) | |
{ | |
obrazenia1=k*(losowa+(((wrog.sila+wrog.miecz_srebrny)/100)*losowa)-(geralt.pancerz/100)*(losowa+(((wrog.sila+wrog.miecz_srebrny)/100)*losowa))); | |
} | |
geralt.zdrowie=geralt.zdrowie-obrazenia1; | |
obrazenia=obrazenia1; | |
wrog.walka_na_piesci=false; | |
wrog.walka_na_miecz_stalowy=false; | |
wrog.walka_na_miecz_srebrny=false; | |
} | |
///////////////////// Prolog | |
void animacja_prologu() | |
{ | |
int n=6; | |
cl(); | |
for(int s=0; s<66; s++) | |
{ | |
cout<<"_"; | |
msleep(n); | |
} | |
cout<<endl; | |
for(int s=0; s<30; s++) | |
{ | |
cout<<"*"; | |
msleep(n); | |
} | |
cout<<"PROLOG"; | |
for(int s=0; s<30; s++) | |
{ | |
cout<<"*"; | |
msleep(n); | |
} | |
cout<<endl; | |
for(int s=0; s<66; s++) | |
{ | |
cout<<"_"; | |
msleep(n); | |
} | |
cout<<endl<<endl<<endl<<endl<<endl<<endl; | |
getch(); | |
karczma(); | |
} | |
//############################################################### | |
void karczma() | |
{ | |
k_karczma: | |
ustaw_parametry(); | |
cl(); | |
cout<<"Jestes w karczmie. Przy szynku widzisz grubego karczmarza, w komnacie na prawo pije wino jakis szlachcic. "; | |
cout<<"Przy jednym ze stolow awanturuje sie jakis pijak. Gdzie indziej siedzi jakis "; | |
cout<<"czlowiek pijacy drogie wino. Co chcesz zrobic w tej sytuacji?"<<endl<<endl; | |
cout<<"1. Podejdz do karczmarza i zacznij rozmowe."<<endl; | |
cout<<"2. Podejdz do szlachcica."<<endl; | |
cout<<"3. Dosiadz sie do czlowieka pijacego wino."<<endl; | |
cout<<"4. Usiadz przy wolnym stole i czekaj, az podejdzie karczmarz po zamowienie."<<endl; | |
cout<<"5. Podejdz do pijaka."<<endl; | |
cout<<"6. Wyjdz z karczmy."<<endl<<endl; | |
ekwip(); | |
anim(); | |
switch(a) | |
{ | |
case 1: {if(byl_u_karczmarza==false){karczmarz();}else{karczma();}} | |
case 2: {if(byl_u_szlachcica==false){szlachcic();} else {karczma();};} | |
case 3: {if(byl_u_kupca==false){kupiec();}else{karczma();}} | |
case 4: {if(byl_przy_stole==false){wolny_stol();}else{karczma();};} | |
case 5: {if(byl_u_pijaka==false){pijak();}else{karczma();}} | |
case 6: wyjscie_z_karczmy(); | |
case 9: {eliksir_TAK(); goto k_karczma;} | |
case 0: koniec_gry1(); | |
} | |
} | |
//############################################################### | |
void wolny_stol() | |
{ | |
byl_przy_stole=true; | |
ustaw_parametry(); | |
k_wolny_stol: | |
cl(); | |
cout<<"Podchodzi do ciebie karczmarz i pyta, czy chcesz sie napic piwa? Kosztuje to tylko 3 denary."<<endl<<endl; | |
cout<<"1. Tak, poprosze. [3 denary]"<<endl; | |
cout<<"2. Dzisiaj nie pije."<<endl; | |
ekwip(); | |
anim(); | |
switch(a) | |
{ | |
case 1: { | |
geralt.forsa=geralt.forsa-3; | |
cl(); | |
ustaw_parametry(); | |
cout<<"Tracisz 3 oreny."<<endl; | |
ekwip(); | |
getch(); | |
karczma(); | |
} | |
case 2: burda(); | |
case 9: {eliksir_TAK(); goto k_wolny_stol;} | |
case 0: koniec_gry1(); | |
default: wolny_stol(); | |
} | |
} | |
//################################################################ | |
void burda() | |
{ | |
cl(); | |
ustaw_parametry(); | |
cout<<"\"Nie bedziesz grzal za darmo swojej dupy u karczmarza Bernarda, mutancie!\" - mowi karczmarz. \"Tu sie placi za"; | |
cout<<" zajmowanie miejsca! Maciek! Maciek!"; | |
cout<<" Wyrzuc tego odmienca za drzwi!\". Widzisz, jak z pomieszczenia obok wychodzi olbrzymi dragal"; | |
cout<<" z jednoznacznym zamiarem solennego wykonania zadania."; | |
cout<<" Co robisz w tej sytuacji?"<<endl<<endl; | |
cout<<"1. Stwierdzam, ze nic tu po mnie i w pospiechu wychodze na ulice."<<endl; | |
cout<<"2. Postanawiam sie bic, nie bedzie mi pyskowal zaden zafajdany karczmarz!"<<endl; | |
ekwip(); | |
anim(); | |
switch(a) | |
{ | |
case 1: wyjscie_z_karczmy(); | |
case 2: walka_w_karczmie(); | |
case 0: koniec_gry1(); | |
} | |
} | |
//############################################################### | |
void walka_w_karczmie() | |
{ | |
cl(); | |
ustaw_parametry(); | |
int sila_przed_pojedynkiem=geralt.sila; | |
if(geralt.eliksy>0) | |
{ | |
cout<<"Chcesz napic sie eliksiru?"<<endl<<endl; | |
cout<<"1. Tak."<<endl; | |
cout<<"2. Nie."<<endl; | |
anim(); | |
switch(a) | |
{ | |
case 1: eliksir_TAK(); | |
case 2: break; | |
case 0: koniec_gry1(); | |
default: walka_w_karczmie(); | |
} | |
} | |
cl(); | |
cout<<"Rozpoczynasz walke z Mackiem."<<endl<<endl<<endl; | |
ekwip(); | |
msleep(2000); | |
cl(); | |
wrog.zdrowie=100; | |
wrog.sila=5; | |
wrog.pancerz=5; | |
do | |
{ | |
cl(); | |
int kto_pierwszy=rand()%100; | |
if(kto_pierwszy<=49) | |
{ | |
geralt.walka_na_piesci=true; | |
wrog.walka_na_piesci=true; | |
obrazenia_wroga(); | |
if(wrog.zdrowie<0){wrog.zdrowie=0;} | |
cout<<"Uderzyles Macka i zadales mu "<<obrazenia<<" obrazen."<<endl<<endl; | |
cout<<"Zdrowie Macka: "<<wrog.zdrowie<<endl; | |
ekwip(); | |
} | |
if(kto_pierwszy>=50) | |
{ | |
geralt.walka_na_piesci=true; | |
wrog.walka_na_piesci=true; | |
obrazenia_geralta(); | |
if(geralt.zdrowie<0){geralt.zdrowie=0;} | |
cout<<"Maciek cie uderzyl i zadal ci "<<obrazenia<<" obrazen."<<endl<<endl; | |
cout<<"Zdrowie Macka: "<<wrog.zdrowie<<endl; | |
ekwip(); | |
} | |
msleep(2000); | |
}while(geralt.zdrowie>0 && wrog.zdrowie>0); | |
geralt.sila=sila_przed_pojedynkiem; | |
if(geralt.zdrowie>100){geralt.zdrowie=100;} | |
if(geralt.zdrowie<0){geralt.zdrowie=0;} | |
if(geralt.zdrowie==0){koniec_gry1();} | |
cl(); | |
cout<<"Wygrales! Maciek lezy jak niezywy na ziemi. Wokol walaja sie resztki stolu. Nacisnij ENTER, aby przejsc dalej."<<endl; | |
ekwip(); | |
getch(); | |
cl(); | |
cout<<"Pokonales Macka, ale po twarzach ludzi widzisz, ze lepiej bedzie opuscic karczme."; | |
cout<<" Nacisnij ENTER, aby wyjsc na zewnatrz."<<endl; | |
ekwip(); | |
getch(); | |
wyjscie_z_karczmy(); | |
} | |
//################################################################### | |
void karczmarz() | |
{ | |
byl_u_karczmarza=true; | |
cl(); | |
ustaw_parametry(); | |
cout<<"Podchodzisz do karczmarza i opierasz sie o lade. \"Witaj, gospodarzu\", zaczynasz. \"Co tam nowego w Wyzimie?\""; | |
cout<<" Karczmarz bacznie mierzy cie wzrokiem i po chwili milczenia odpowiada: \"A co ma byc? Potwory po staremu ludzi porywaja,"; | |
cout<<" ludzie do lasu nie chodza, bo to pewna smierc, a krol podwyzszyl podatki, psia jego mac... Co podac, panie wiedzmin?\""<<endl<<endl; | |
cout<<"1. Kufel piwa dobrze mi zrobi. [3 oreny]"<<endl; | |
cout<<"2. Nic, dzisiaj nie pije."<<endl; | |
ekwip(); | |
anim(); | |
switch(a) | |
{ | |
case 1: | |
{ | |
geralt.forsa=geralt.forsa-3; | |
cl(); | |
ustaw_parametry(); | |
cout<<"Tracisz 3 oreny."<<endl; | |
getch(); | |
karczma(); | |
} | |
case 2: burda(); | |
case 0: exit(1); | |
default: exit(1); | |
} | |
} | |
//############################################################### | |
void pijak() | |
{ | |
cl(); | |
ustaw_parametry(); | |
cout<<"Widzisz awanturujacego sie pijaka, ktory podchodzi do ciebie i chce sie bic. Co robisz?"<<endl<<endl; | |
cout<<"1. Daje mu w morde."<<endl; | |
cout<<"2. Zostawiam go samego."<<endl; | |
ekwip(); | |
anim(); | |
switch(a) | |
{ | |
case 1: { | |
byl_u_pijaka=true; | |
bojka(); | |
cout<<"\"Dziekuje ci, wiedzminie.\", mowi karczmarz, \" "; | |
cout<<"Ten pijak juz od dluzszego czasu dawal mi sie wie znaki. Przyjmij ode mnie 50 denarow w podziece.\""<<endl; | |
geralt.forsa=geralt.forsa+50; | |
getch(); | |
cl(); | |
cout<<"Otrzymujesz 50 denarow."<<endl; | |
ekwip(); | |
getch(); | |
} | |
case 2: {karczma();} | |
default: karczma(); | |
} | |
getch(); | |
karczma(); | |
} | |
//############################################################### | |
void szlachcic() | |
{ | |
cl(); | |
byl_u_szlachcica=true; | |
ustaw_parametry(); | |
cout<<"Dosiadasz sie do szlachcica. Jest to sredniego wieku czlowiek w bogato zdobionym kaftanie. \"Czego chcesz, czlowieku?!\""; | |
cout<<", rzuca na twoj widok. \"Dosc mi moich wlasnych problemow!\". Chwile siedzisz oslupialy, po czym mowisz: \""; | |
cout<<"Wybacz, nie chcialem przeszkodzic. W sumie moze moglbym ci pomoc, ale widze, ze sam sobie swietnie radzisz ze"; | |
cout<<" swoimi problemami.\" Nieznajomy widzac, ze zamierzasz odejsc, probuje cie zatrzymac. \"Stoj! Poczekaj, "; | |
cout<<"moze faktycznie mozesz mi pomoc!\". Co robisz?"<<endl<<endl; | |
cout<<"1. Zatrzymuje sie i wysluchuje, co szlachcic mowi o swoich problemach."<<endl; | |
cout<<"2. Dumny i nadety wychodze z komnaty."<<endl; | |
ekwip(); | |
anim(); | |
switch(a) | |
{ | |
case 1: { | |
byl_u_szlachcica=true; | |
cl(); | |
ustaw_parametry(); | |
cout<<"\"Dobrze, wyslucham cie. Mow.\" \"Ale najpierw powiedz mi, jak sie nazywasz i kim jestes.\""; | |
cout<<" \" Nazywam sie Geralt z Rivii i jestem wiedzminem, zabojca potworow.\" Nieznajomy patrzy na ciebie nieufnym "; | |
cout<<"wzrokiem, po chwili jednak przelamuje sie: \"Opowiem ci, co sie stalo. Jestem zubozalym szlachcicem"; | |
cout<<" i zostalem zmuszony do... chwilowego opuszczenia rodzinnego domu. Razem z przyjacielem, Ulrikiem, udalem sie w podroz na poludnie"; | |
cout<<" w celu znalezienia jakiejs zacnej kompanii. Jednak w drodze, gdy dojezdzalem do tej zapchlonej dziury, "; | |
cout<<"w lesie przed wsia zaatakowal nas jakis potwor. Wygladal jak kuroliszek, ale kto tam wie...\""; | |
cout<<" W walce Ulrik poniosl smierc, a ja cudem ocalalem."<<endl; | |
ekwip(); | |
getch(); | |
cl(); | |
cout<<"\"Chce za wszelka cene zemscic sie na tym potworze... i szukam kogos, kto bedzie w stanie go zabic!\" "; | |
cout<<"\"A ile jestes sklonny zaplacic za taka usluge?\" Szlachcic chwile sie zastanawia: \"500 denarow."; | |
cout<<" Poszedlbys na to?\""<<endl<<endl; | |
cout<<"1. Zgoda. Ale pamietaj - 500 denarow i ani grosza mniej."<<endl; | |
cout<<"2. Za takie pieniadze? Mowy nie ma!"<<endl; | |
ekwip(); | |
anim(); | |
switch(a) | |
{ | |
case 1: | |
{ | |
geralt.misja1=true; | |
misja misja1; | |
} | |
case 2: | |
{ | |
geralt.misja1=false; | |
karczma(); | |
} | |
case 0: koniec_gry1(); | |
default: exit(1); | |
} | |
} | |
case 2: {byl_u_szlachcica=true; karczma(); } | |
case 0: exit(1); | |
default: exit(1); | |
} | |
} | |
//############################################################### | |
void kupiec() | |
{ | |
byl_u_kupca=true; | |
cl(); | |
ustaw_parametry(); | |
cout<<"Tutaj bedzie jakis fajny tekst"; | |
ekwip(); | |
getch(); | |
karczma(); | |
} | |
//############################################################### | |
void wyjscie_z_karczmy() | |
{ | |
cl(); | |
ustaw_parametry(); | |
cout<<"Wyszedles z karczmy, gratuluje!"; | |
ekwip(); | |
getch(); | |
exit(1); | |
} | |
//############################################################### | |
void bojka() | |
{ | |
cl(); | |
ustaw_parametry(); | |
int sila_przed_pojedynkiem=geralt.sila; | |
if(geralt.eliksy>0) | |
{ | |
cout<<"Chcesz sie napic eliksiru?"<<endl<<endl; | |
cout<<"1. Tak."<<endl; | |
cout<<"2. Nie."<<endl; | |
anim(); | |
switch(a) | |
{ | |
case 1: {eliksir_TAK(); break;} | |
case 2: break; | |
case 0: koniec_gry1(); | |
default: break; | |
} | |
} | |
cl(); | |
cout<<"Rozpoczynasz walke z pijakiem."<<endl<<endl<<endl; | |
ekwip(); | |
msleep(2000); | |
cl(); | |
wrog.zdrowie=100; | |
wrog.sila=3; | |
wrog.pancerz=3; | |
do | |
{ | |
cl(); | |
int kto_pierwszy=rand()%100; | |
if(kto_pierwszy<50) | |
{ | |
geralt.walka_na_piesci=true; | |
wrog.walka_na_piesci=true; | |
obrazenia_wroga(); | |
if(wrog.zdrowie<0){wrog.zdrowie=0;} | |
cout<<"Uderzasz pijaka i zadajesz mu "<<obrazenia<<" obrazen."<<endl<<endl; | |
cout<<"Zdrowie pijaka: "<<wrog.zdrowie<<endl; | |
ekwip(); | |
} | |
if(kto_pierwszy>49) | |
{ | |
geralt.walka_na_piesci=true; | |
wrog.walka_na_piesci=true; | |
obrazenia_geralta(); | |
cout<<"Pijak cie uderza i zadaje ci "<<obrazenia<<" obrazen."<<endl<<endl; | |
cout<<"Zdrowie pijaka: "<<wrog.zdrowie<<endl; | |
ekwip(); | |
} | |
msleep(2000); | |
}while(geralt.zdrowie>0 && wrog.zdrowie>0); | |
geralt.sila=sila_przed_pojedynkiem; | |
if(geralt.zdrowie>100) | |
{ | |
geralt.zdrowie=100; | |
} | |
if(geralt.zdrowie<0) | |
{ | |
geralt.zdrowie=0; | |
} | |
if(geralt.zdrowie==0) | |
{ | |
koniec_gry1(); | |
} | |
cl(); | |
cout<<"Wygrales! Pijak lezy jak niezywy na ziemi. Wokol walaja sie resztki stolu. Nacisnij ENTER, aby przejsc dalej."<<endl; | |
ekwip(); | |
getch(); | |
cl(); | |
ustaw_parametry(); | |
cout<<"\"Dziekuje wiedzminie, nauczyles tego cwoka rozumu. Zasluzyles na nagrode.\" Karczmarz z wdziecznosci przekazuje ci 50 denarow."<<endl; | |
ekwip(); | |
getch(); | |
cl(); | |
ustaw_parametry(); | |
cout<<"Otrzymujesz 50 denarow."<<endl; | |
geralt.forsa=geralt.forsa+50; | |
ekwip(); | |
getch(); | |
karczma(); | |
} | |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment