Advertisement
Guest User

Untitled

a guest
Aug 23rd, 2017
85
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 22.38 KB | None | 0 0
  1. #include <cstdio>
  2. #include "funkcje.h"
  3. #include "klasy.h"
  4. #include <conio.h>
  5. //#include "silnik.h"
  6.  
  7. //deklaracja obiekt�w:
  8. gracz geralt;
  9. gracz wrog;
  10. przedmiot rzecz[6];
  11.  
  12. //deklaracja zmiennych:
  13. int a;
  14. float k;
  15. float obrazenia;
  16. bool byl_tu;
  17. bool byl_u_karczmarza;
  18. bool byl_u_kupca;
  19. bool byl_przy_stole;
  20. bool byl_u_pijaka;
  21. bool byl_u_szlachcica;
  22. //ciala funkcji:
  23.  
  24. //############################################################################
  25. int msleep(unsigned ms)
  26. {
  27. #if defined(WIN32) || defined(_WIN32) || defined(__WIN32) && !defined(__CYGWIN__)
  28. SetLastError(0);
  29. Sleep(ms);
  30. return GetLastError() ?-1 :0;
  31. #else
  32. return usleep(1000 * ms);
  33. #endif
  34. }
  35.  
  36. int anim() //funkcja tworzy animacje strzalki wejscia i odbiera od uzytkownika odpowiedz
  37. {
  38. cout<<endl<<endl;
  39. for(int i=0; i<9; i++)
  40. {
  41. cout<<">";
  42. msleep(60);
  43. }
  44. cout<<" ";
  45. cin>>a;
  46. }
  47.  
  48.  
  49. //#############################################################################
  50.  
  51. void ekwip() //funkcja rysuje tabelke z informacjami o Geralcie
  52. {
  53. if(geralt.zdrowie<0) {geralt.zdrowie=0;}
  54. cout<<endl<<endl<<endl<<endl<<endl;
  55. cout<<"|| TWOJA POSTAC: "<<endl;
  56. cout<<"||----------------------------------------------------------"<<endl;
  57. cout<<"|| Zdrowie: "<<geralt.zdrowie<<" %"<<endl;
  58. cout<<"|| Zatrucie: "<<geralt.zatrucie<<" %"<<endl;
  59. cout<<"|| Pieniadze: "<<geralt.forsa<<" [w orenach]"<<endl;
  60. cout<<"|| Przedmioty: -"<<geralt.miecz_srebrny_nazwa<<" (atak: "<<geralt.miecz_srebrny<<")"<<endl;
  61. cout<<"|| -"<<geralt.miecz_stalowy_nazwa<<" (atak: "<<geralt.miecz_stalowy<<")"<<endl;
  62. cout<<"|| -"<<geralt.pancerz_nazwa<<" (obrona: "<<geralt.pancerz<<")"<<endl;
  63. cout<<"|| -"<<"Eliksir (x"<<geralt.eliksy<<")"<<endl;
  64. cout<<"|| -"<<rzecz[4].nazwa<<endl;
  65. cout<<"|| -"<<rzecz[5].nazwa<<endl;
  66. cout<<"||__________________________________________________________"<<endl;
  67. }
  68.  
  69. //#########################################################################
  70.  
  71. void ustaw_parametry() // funkcja sprawdza uzbrojenie bohatera i ustawia odpowiednie wartosci parametrow.
  72. {
  73. geralt.zdrowie=geralt.zdrowie+5;
  74. if(geralt.zdrowie>100) {geralt.zdrowie=100;}
  75. if(geralt.zdrowie<0) {geralt.zdrowie=0;}
  76. if(geralt.zdrowie==0) {koniec_gry1();}
  77.  
  78. geralt.zatrucie=geralt.zatrucie-3;
  79. if(geralt.zatrucie>100) {geralt.zatrucie=100; koniec_gry1();}
  80. if(geralt.zatrucie<0) {geralt.zatrucie=0;}
  81. if(geralt.zatrucie==100) {koniec_gry1();}
  82. //########################################MIECZ SREBRNY
  83. if(geralt.miecz_srebrny_nazwa=="brak")
  84. {geralt.miecz_srebrny=0;}
  85. if(geralt.miecz_srebrny_nazwa=="Kiepski miecz srebrny")
  86. {geralt.miecz_srebrny=20;}
  87. if(geralt.miecz_srebrny_nazwa=="Zwykly miecz srebrny")
  88. {geralt.miecz_srebrny=40;}
  89. if(geralt.miecz_srebrny_nazwa=="Dobry miecz srebrny")
  90. {geralt.miecz_srebrny=60;}
  91. if(geralt.miecz_srebrny_nazwa=="Znakomity miecz srebrny")
  92. {geralt.miecz_srebrny=80;}
  93. if(geralt.miecz_srebrny_nazwa=="Elitarny miecz srebrny")
  94. {geralt.miecz_srebrny=95;}
  95. //##########################################MIECZ STALOWY
  96. if(geralt.miecz_stalowy_nazwa=="brak")
  97. {geralt.miecz_stalowy=0;}
  98. if(geralt.miecz_stalowy_nazwa=="Kiepski miecz stalowy")
  99. {geralt.miecz_stalowy=20;}
  100. if(geralt.miecz_stalowy_nazwa=="Zwykly miecz stalowy")
  101. {geralt.miecz_stalowy=40;}
  102. if(geralt.miecz_stalowy_nazwa=="Dobry miecz stalowy")
  103. {geralt.miecz_stalowy=60;}
  104. if(geralt.miecz_stalowy_nazwa=="Znakomity miecz stalowy")
  105. {geralt.miecz_stalowy=80;}
  106. if(geralt.miecz_stalowy_nazwa=="Elitarny miecz stalowy")
  107. {geralt.miecz_stalowy=95;}
  108. //###########################################ZBROJA
  109. if(geralt.pancerz_nazwa=="brak")
  110. {geralt.pancerz=0;}
  111. if(geralt.pancerz_nazwa=="Kiepska zbroja")
  112. {geralt.pancerz=20;}
  113. if(geralt.pancerz_nazwa=="Zwykla zbroja")
  114. {geralt.pancerz=40;}
  115. if(geralt.pancerz_nazwa=="Dobra zbroja")
  116. {geralt.pancerz=60;}
  117. if(geralt.pancerz_nazwa=="Znakomita zbroja")
  118. {geralt.pancerz=80;}
  119. if(geralt.pancerz_nazwa=="Elitarna zbroja")
  120. {geralt.pancerz=95;}
  121. }
  122.  
  123. //##################################################################
  124.  
  125. void eliksir_TAK() //ustawia dzialanie eliksiru
  126. {
  127. geralt.zdrowie=(geralt.zdrowie+0.33*geralt.zdrowie);
  128. geralt.miecz_srebrny=(geralt.miecz_srebrny*1.33);
  129. geralt.miecz_stalowy=(geralt.miecz_stalowy*1.33);
  130. geralt.pancerz=(geralt.pancerz*1.33);
  131. geralt.sila=1.3*geralt.sila;
  132. geralt.eliksy=geralt.eliksy-1;
  133. geralt.zatrucie=geralt.zatrucie+geralt.toksycznosc_eliksiru;
  134. }
  135.  
  136. //##################################################################
  137.  
  138. void start() //pierwszy napis, czeka na enter (ewentualnie moze byc czasowo)
  139. {
  140. cl();
  141. cout<<"-----------------------------------------"<<endl;
  142. cout<<"-:: Wiedzmin: Na nieznanych sciezkach ::-"<<endl;
  143. cout<<"-----------------------------------------"<<endl<<endl<<endl;
  144. cout<<"CDProjektor, 2013."<<endl<<endl;
  145. cout<<"By Krzysztof Wasiak."<<endl;
  146. msleep(4000);
  147. getch();
  148. poczatek();
  149. }
  150.  
  151. //####################################################################
  152.  
  153. void poczatek() //poczatek rozgrywki, przypisanie podstawowych wartosci parametrom Geralta
  154. {
  155. byl_u_szlachcica=false;
  156. byl_u_karczmarza=false;
  157. byl_u_kupca=false;
  158. byl_przy_stole=false;
  159. byl_u_pijaka=false;
  160.  
  161. geralt.walka_na_miecz_srebrny=false;
  162. geralt.walka_na_miecz_stalowy=false;
  163. geralt.walka_na_piesci=false;
  164.  
  165. wrog.walka_na_miecz_srebrny=false;
  166. wrog.walka_na_miecz_stalowy=false;
  167. wrog.walka_na_piesci=false;
  168.  
  169. wrog.miecz_srebrny=5;
  170. wrog.miecz_stalowy=5;
  171. wrog.sila=5;
  172.  
  173. k=1;
  174.  
  175. geralt.forsa=250;
  176. geralt.zdrowie=100;
  177. geralt.zatrucie=0;
  178. geralt.toksycznosc_eliksiru=20;
  179. geralt.eliksy=3;
  180. geralt.sila=10;
  181. geralt.miecz_srebrny_nazwa="Kiepski miecz srebrny";
  182. geralt.miecz_stalowy_nazwa="Kiepski miecz stalowy";
  183. geralt.pancerz_nazwa="Kiepska zbroja";
  184. rzecz[0].nazwa=geralt.miecz_srebrny_nazwa;
  185. rzecz[1].nazwa=geralt.miecz_stalowy_nazwa;
  186. rzecz[2].nazwa=geralt.pancerz_nazwa;
  187. ustaw_parametry();
  188. cl();
  189. cout<<"W takim razie witaj w Temerii, wiedzminie! Poszukujesz przygod? Dobrze zrobisz odwiedzajac karczme..."<<endl<<endl;
  190. cout<<"1. Jasne, wchodze do karczmy."<<endl;
  191. cout<<"9. POMOC."<<endl;
  192. ekwip();
  193. anim();
  194.  
  195. switch(a)
  196. {
  197. case 1: animacja_prologu();
  198. case 9: pomoc();
  199. case 0: koniec_gry1();
  200. default: {cl();cout<<"Ale nie oszukujemy!"<<endl;getch();poczatek();}
  201. }
  202. }
  203.  
  204. //########################################################################
  205.  
  206. void koniec_gry1() //funkcja czeka na wybor - konczyc czy nie - i ewntualnie zaczyna nowa gre
  207. {
  208. cl();
  209. ustaw_parametry();
  210. cout<<"Niestety, giniesz w wyniku odniesionych ran. Gra skonczona."<<endl<<endl;
  211. cout<<"1. Gram jeszce raz."<<endl;
  212. cout<<"2. Wychodze z gry."<<endl;
  213. anim();
  214.  
  215. switch(a)
  216. {
  217. case 1: poczatek();
  218. case 2: exit(1);
  219. case 0: exit(1);
  220. default: koniec_gry1();
  221. }
  222. }
  223.  
  224. //##########################################################################
  225.  
  226. void pomoc() //przed rozpoczeciem rozgrywki
  227. {
  228. cl();
  229. cout<<"Witaj w grze RPG, jaka jest Wiedzmin 2013."<<endl<<endl;
  230. cout<<"Aby grac, musisz wybrac odpowiednia opcje i zatwierdzic przyciskiem ENTER."<<endl;
  231. cout<<"Mozesz w dowolnym momencie wyjsc z gry, wybierajac 0."<<endl;
  232. cout<<"Nie trolluj i wybieraj tylko znaki, o ktore Cie prosza."<<endl;
  233. cout<<"Powyzsze odnosi sie szczegolnie do Marcina J."<<endl;
  234. cout<<"Przed walka mozesz sie napic eliksiru, pod warunkiem, ze takowy posiadasz."<<endl;
  235. cout<<"Mozesz sie go napic w dowolnym momencie, jednak jesli nie bedzie to w czasie walki, jedyne co zyskasz";
  236. cout<<" to przywrocenie zdrowia do poziomu maksymalnego (100%), premie do broni nie beda naliczane."<<endl;
  237. cout<<"Pamietaj, kazdy wybor bedzie mial wplyw na pozniejsze zdarzenia."<<endl;
  238. cout<<"Zycze milej zabawy."<<endl<<endl;
  239. getch();
  240. poczatek();
  241. }
  242.  
  243. //##################################################################
  244. //musisz podac: wrog.zdrowie, wrog.sila, wrog.pancerz
  245. int obrazenia_wroga()
  246. {
  247. float obrazenia1;
  248. int losowa=(rand()%33+1);
  249. if(geralt.walka_na_miecz_stalowy==true)
  250. {
  251. obrazenia1=(losowa+(((geralt.sila+geralt.miecz_stalowy)/100)*losowa)-(wrog.pancerz/100)*(losowa+(((geralt.sila+geralt.miecz_stalowy)/100)*losowa)));
  252. }
  253. if(geralt.walka_na_miecz_srebrny==true)
  254. {
  255. obrazenia1=(losowa+(((geralt.sila+geralt.miecz_srebrny)/100)*losowa)-(wrog.pancerz/100)*(losowa+(((geralt.sila+geralt.miecz_srebrny)/100)*losowa)));
  256. }
  257. if(geralt.walka_na_piesci==true)
  258. {
  259. obrazenia1=(losowa+(((geralt.sila)/100)*losowa)-((wrog.pancerz/100)*(losowa+(((geralt.sila/100)*losowa)))));
  260. }
  261.  
  262. wrog.zdrowie=wrog.zdrowie-obrazenia1;
  263.  
  264. obrazenia=obrazenia1;
  265.  
  266. geralt.walka_na_piesci=false;
  267. geralt.walka_na_miecz_stalowy=false;
  268. geralt.walka_na_miecz_srebrny=false;
  269. }
  270. int obrazenia_geralta()
  271. {
  272. float obrazenia1;
  273. int losowa=(rand()%33+1);
  274. if(wrog.walka_na_piesci==true)
  275. {
  276. obrazenia1=k*(losowa+(((wrog.sila)/100)*losowa)-(geralt.pancerz/100)*(losowa+(((wrog.sila)/100)*losowa)));
  277. }
  278. if(wrog.walka_na_miecz_stalowy==true)
  279. {
  280. obrazenia1=k*(losowa+(((wrog.sila+wrog.miecz_stalowy)/100)*losowa)-(geralt.pancerz/100)*(losowa+(((wrog.sila+wrog.miecz_stalowy)/100)*losowa)));
  281. }
  282. if(wrog.walka_na_miecz_srebrny==true)
  283. {
  284. obrazenia1=k*(losowa+(((wrog.sila+wrog.miecz_srebrny)/100)*losowa)-(geralt.pancerz/100)*(losowa+(((wrog.sila+wrog.miecz_srebrny)/100)*losowa)));
  285. }
  286.  
  287. geralt.zdrowie=geralt.zdrowie-obrazenia1;
  288.  
  289. obrazenia=obrazenia1;
  290.  
  291. wrog.walka_na_piesci=false;
  292. wrog.walka_na_miecz_stalowy=false;
  293. wrog.walka_na_miecz_srebrny=false;
  294. }
  295.  
  296.  
  297. ///////////////////// Prolog
  298.  
  299.  
  300. void animacja_prologu()
  301. {
  302. int n=6;
  303. cl();
  304. for(int s=0; s<66; s++)
  305. {
  306. cout<<"_";
  307. msleep(n);
  308. }
  309. cout<<endl;
  310.  
  311. for(int s=0; s<30; s++)
  312. {
  313. cout<<"*";
  314. msleep(n);
  315. }
  316. cout<<"PROLOG";
  317. for(int s=0; s<30; s++)
  318. {
  319. cout<<"*";
  320. msleep(n);
  321. }
  322. cout<<endl;
  323. for(int s=0; s<66; s++)
  324. {
  325. cout<<"_";
  326. msleep(n);
  327. }
  328. cout<<endl<<endl<<endl<<endl<<endl<<endl;
  329. getch();
  330. karczma();
  331. }
  332.  
  333. //###############################################################
  334.  
  335. void karczma()
  336. {
  337.  
  338. k_karczma:
  339. ustaw_parametry();
  340. cl();
  341. cout<<"Jestes w karczmie. Przy szynku widzisz grubego karczmarza, w komnacie na prawo pije wino jakis szlachcic. ";
  342. cout<<"Przy jednym ze stolow awanturuje sie jakis pijak. Gdzie indziej siedzi jakis ";
  343. cout<<"czlowiek pijacy drogie wino. Co chcesz zrobic w tej sytuacji?"<<endl<<endl;
  344. cout<<"1. Podejdz do karczmarza i zacznij rozmowe."<<endl;
  345. cout<<"2. Podejdz do szlachcica."<<endl;
  346. cout<<"3. Dosiadz sie do czlowieka pijacego wino."<<endl;
  347. cout<<"4. Usiadz przy wolnym stole i czekaj, az podejdzie karczmarz po zamowienie."<<endl;
  348. cout<<"5. Podejdz do pijaka."<<endl;
  349. cout<<"6. Wyjdz z karczmy."<<endl<<endl;
  350. ekwip();
  351. anim();
  352.  
  353. switch(a)
  354.  
  355. {
  356. case 1: {if(byl_u_karczmarza==false){karczmarz();}else{karczma();}}
  357. case 2: {if(byl_u_szlachcica==false){szlachcic();} else {karczma();};}
  358. case 3: {if(byl_u_kupca==false){kupiec();}else{karczma();}}
  359. case 4: {if(byl_przy_stole==false){wolny_stol();}else{karczma();};}
  360. case 5: {if(byl_u_pijaka==false){pijak();}else{karczma();}}
  361. case 6: wyjscie_z_karczmy();
  362. case 9: {eliksir_TAK(); goto k_karczma;}
  363. case 0: koniec_gry1();
  364. }
  365. }
  366.  
  367. //###############################################################
  368.  
  369. void wolny_stol()
  370. {
  371. byl_przy_stole=true;
  372. ustaw_parametry();
  373. k_wolny_stol:
  374. cl();
  375. cout<<"Podchodzi do ciebie karczmarz i pyta, czy chcesz sie napic piwa? Kosztuje to tylko 3 denary."<<endl<<endl;
  376. cout<<"1. Tak, poprosze. [3 denary]"<<endl;
  377. cout<<"2. Dzisiaj nie pije."<<endl;
  378. ekwip();
  379. anim();
  380. switch(a)
  381. {
  382. case 1: {
  383. geralt.forsa=geralt.forsa-3;
  384. cl();
  385. ustaw_parametry();
  386. cout<<"Tracisz 3 oreny."<<endl;
  387. ekwip();
  388. getch();
  389. karczma();
  390. }
  391. case 2: burda();
  392. case 9: {eliksir_TAK(); goto k_wolny_stol;}
  393. case 0: koniec_gry1();
  394. default: wolny_stol();
  395. }
  396. }
  397.  
  398. //################################################################
  399.  
  400. void burda()
  401. {
  402. cl();
  403. ustaw_parametry();
  404. cout<<"\"Nie bedziesz grzal za darmo swojej dupy u karczmarza Bernarda, mutancie!\" - mowi karczmarz. \"Tu sie placi za";
  405. cout<<" zajmowanie miejsca! Maciek! Maciek!";
  406. cout<<" Wyrzuc tego odmienca za drzwi!\". Widzisz, jak z pomieszczenia obok wychodzi olbrzymi dragal";
  407. cout<<" z jednoznacznym zamiarem solennego wykonania zadania.";
  408. cout<<" Co robisz w tej sytuacji?"<<endl<<endl;
  409. cout<<"1. Stwierdzam, ze nic tu po mnie i w pospiechu wychodze na ulice."<<endl;
  410. cout<<"2. Postanawiam sie bic, nie bedzie mi pyskowal zaden zafajdany karczmarz!"<<endl;
  411. ekwip();
  412. anim();
  413.  
  414. switch(a)
  415. {
  416. case 1: wyjscie_z_karczmy();
  417. case 2: walka_w_karczmie();
  418. case 0: koniec_gry1();
  419. }
  420.  
  421. }
  422.  
  423. //###############################################################
  424.  
  425. void walka_w_karczmie()
  426. {
  427. cl();
  428. ustaw_parametry();
  429. int sila_przed_pojedynkiem=geralt.sila;
  430. if(geralt.eliksy>0)
  431. {
  432. cout<<"Chcesz napic sie eliksiru?"<<endl<<endl;
  433. cout<<"1. Tak."<<endl;
  434. cout<<"2. Nie."<<endl;
  435. anim();
  436. switch(a)
  437. {
  438. case 1: eliksir_TAK();
  439. case 2: break;
  440. case 0: koniec_gry1();
  441. default: walka_w_karczmie();
  442. }
  443. }
  444. cl();
  445. cout<<"Rozpoczynasz walke z Mackiem."<<endl<<endl<<endl;
  446. ekwip();
  447. msleep(2000);
  448. cl();
  449. wrog.zdrowie=100;
  450. wrog.sila=5;
  451. wrog.pancerz=5;
  452. do
  453. {
  454. cl();
  455. int kto_pierwszy=rand()%100;
  456. if(kto_pierwszy<=49)
  457. {
  458.  
  459. geralt.walka_na_piesci=true;
  460. wrog.walka_na_piesci=true;
  461. obrazenia_wroga();
  462. if(wrog.zdrowie<0){wrog.zdrowie=0;}
  463. cout<<"Uderzyles Macka i zadales mu "<<obrazenia<<" obrazen."<<endl<<endl;
  464. cout<<"Zdrowie Macka: "<<wrog.zdrowie<<endl;
  465. ekwip();
  466. }
  467. if(kto_pierwszy>=50)
  468. {
  469. geralt.walka_na_piesci=true;
  470. wrog.walka_na_piesci=true;
  471. obrazenia_geralta();
  472. if(geralt.zdrowie<0){geralt.zdrowie=0;}
  473. cout<<"Maciek cie uderzyl i zadal ci "<<obrazenia<<" obrazen."<<endl<<endl;
  474. cout<<"Zdrowie Macka: "<<wrog.zdrowie<<endl;
  475. ekwip();
  476. }
  477. msleep(2000);
  478. }while(geralt.zdrowie>0 && wrog.zdrowie>0);
  479.  
  480. geralt.sila=sila_przed_pojedynkiem;
  481. if(geralt.zdrowie>100){geralt.zdrowie=100;}
  482. if(geralt.zdrowie<0){geralt.zdrowie=0;}
  483. if(geralt.zdrowie==0){koniec_gry1();}
  484.  
  485. cl();
  486. cout<<"Wygrales! Maciek lezy jak niezywy na ziemi. Wokol walaja sie resztki stolu. Nacisnij ENTER, aby przejsc dalej."<<endl;
  487. ekwip();
  488. getch();
  489. cl();
  490. cout<<"Pokonales Macka, ale po twarzach ludzi widzisz, ze lepiej bedzie opuscic karczme.";
  491. cout<<" Nacisnij ENTER, aby wyjsc na zewnatrz."<<endl;
  492. ekwip();
  493. getch();
  494. wyjscie_z_karczmy();
  495. }
  496.  
  497. //###################################################################
  498.  
  499. void karczmarz()
  500. {
  501. byl_u_karczmarza=true;
  502. cl();
  503. ustaw_parametry();
  504. cout<<"Podchodzisz do karczmarza i opierasz sie o lade. \"Witaj, gospodarzu\", zaczynasz. \"Co tam nowego w Wyzimie?\"";
  505. cout<<" Karczmarz bacznie mierzy cie wzrokiem i po chwili milczenia odpowiada: \"A co ma byc? Potwory po staremu ludzi porywaja,";
  506. cout<<" ludzie do lasu nie chodza, bo to pewna smierc, a krol podwyzszyl podatki, psia jego mac... Co podac, panie wiedzmin?\""<<endl<<endl;
  507. cout<<"1. Kufel piwa dobrze mi zrobi. [3 oreny]"<<endl;
  508. cout<<"2. Nic, dzisiaj nie pije."<<endl;
  509. ekwip();
  510. anim();
  511.  
  512. switch(a)
  513. {
  514. case 1:
  515. {
  516. geralt.forsa=geralt.forsa-3;
  517. cl();
  518. ustaw_parametry();
  519. cout<<"Tracisz 3 oreny."<<endl;
  520. getch();
  521. karczma();
  522. }
  523. case 2: burda();
  524. case 0: exit(1);
  525. default: exit(1);
  526. }
  527. }
  528.  
  529. //###############################################################
  530.  
  531. void pijak()
  532. {
  533. cl();
  534. ustaw_parametry();
  535. cout<<"Widzisz awanturujacego sie pijaka, ktory podchodzi do ciebie i chce sie bic. Co robisz?"<<endl<<endl;
  536. cout<<"1. Daje mu w morde."<<endl;
  537. cout<<"2. Zostawiam go samego."<<endl;
  538. ekwip();
  539. anim();
  540. switch(a)
  541. {
  542. case 1: {
  543. byl_u_pijaka=true;
  544. bojka();
  545. cout<<"\"Dziekuje ci, wiedzminie.\", mowi karczmarz, \" ";
  546. cout<<"Ten pijak juz od dluzszego czasu dawal mi sie wie znaki. Przyjmij ode mnie 50 denarow w podziece.\""<<endl;
  547. geralt.forsa=geralt.forsa+50;
  548. getch();
  549. cl();
  550. cout<<"Otrzymujesz 50 denarow."<<endl;
  551. ekwip();
  552. getch();
  553. }
  554. case 2: {karczma();}
  555. default: karczma();
  556. }
  557. getch();
  558. karczma();
  559. }
  560.  
  561. //###############################################################
  562.  
  563. void szlachcic()
  564. {
  565. cl();
  566. byl_u_szlachcica=true;
  567. ustaw_parametry();
  568. cout<<"Dosiadasz sie do szlachcica. Jest to sredniego wieku czlowiek w bogato zdobionym kaftanie. \"Czego chcesz, czlowieku?!\"";
  569. cout<<", rzuca na twoj widok. \"Dosc mi moich wlasnych problemow!\". Chwile siedzisz oslupialy, po czym mowisz: \"";
  570. cout<<"Wybacz, nie chcialem przeszkodzic. W sumie moze moglbym ci pomoc, ale widze, ze sam sobie swietnie radzisz ze";
  571. cout<<" swoimi problemami.\" Nieznajomy widzac, ze zamierzasz odejsc, probuje cie zatrzymac. \"Stoj! Poczekaj, ";
  572. cout<<"moze faktycznie mozesz mi pomoc!\". Co robisz?"<<endl<<endl;
  573. cout<<"1. Zatrzymuje sie i wysluchuje, co szlachcic mowi o swoich problemach."<<endl;
  574. cout<<"2. Dumny i nadety wychodze z komnaty."<<endl;
  575. ekwip();
  576. anim();
  577.  
  578. switch(a)
  579. {
  580. case 1: {
  581. byl_u_szlachcica=true;
  582. cl();
  583. ustaw_parametry();
  584. cout<<"\"Dobrze, wyslucham cie. Mow.\" \"Ale najpierw powiedz mi, jak sie nazywasz i kim jestes.\"";
  585. cout<<" \" Nazywam sie Geralt z Rivii i jestem wiedzminem, zabojca potworow.\" Nieznajomy patrzy na ciebie nieufnym ";
  586. cout<<"wzrokiem, po chwili jednak przelamuje sie: \"Opowiem ci, co sie stalo. Jestem zubozalym szlachcicem";
  587. cout<<" i zostalem zmuszony do... chwilowego opuszczenia rodzinnego domu. Razem z przyjacielem, Ulrikiem, udalem sie w podroz na poludnie";
  588. cout<<" w celu znalezienia jakiejs zacnej kompanii. Jednak w drodze, gdy dojezdzalem do tej zapchlonej dziury, ";
  589. cout<<"w lesie przed wsia zaatakowal nas jakis potwor. Wygladal jak kuroliszek, ale kto tam wie...\"";
  590. cout<<" W walce Ulrik poniosl smierc, a ja cudem ocalalem."<<endl;
  591. ekwip();
  592. getch();
  593. cl();
  594. cout<<"\"Chce za wszelka cene zemscic sie na tym potworze... i szukam kogos, kto bedzie w stanie go zabic!\" ";
  595. cout<<"\"A ile jestes sklonny zaplacic za taka usluge?\" Szlachcic chwile sie zastanawia: \"500 denarow.";
  596. cout<<" Poszedlbys na to?\""<<endl<<endl;
  597. cout<<"1. Zgoda. Ale pamietaj - 500 denarow i ani grosza mniej."<<endl;
  598. cout<<"2. Za takie pieniadze? Mowy nie ma!"<<endl;
  599. ekwip();
  600. anim();
  601.  
  602. switch(a)
  603. {
  604. case 1:
  605. {
  606. geralt.misja1=true;
  607. misja misja1;
  608. }
  609. case 2:
  610. {
  611. geralt.misja1=false;
  612. karczma();
  613. }
  614. case 0: koniec_gry1();
  615. default: exit(1);
  616. }
  617. }
  618. case 2: {byl_u_szlachcica=true; karczma(); }
  619. case 0: exit(1);
  620. default: exit(1);
  621. }
  622. }
  623.  
  624. //###############################################################
  625.  
  626. void kupiec()
  627. {
  628. byl_u_kupca=true;
  629. cl();
  630. ustaw_parametry();
  631. cout<<"Tutaj bedzie jakis fajny tekst";
  632. ekwip();
  633. getch();
  634. karczma();
  635. }
  636.  
  637. //###############################################################
  638.  
  639. void wyjscie_z_karczmy()
  640. {
  641. cl();
  642. ustaw_parametry();
  643. cout<<"Wyszedles z karczmy, gratuluje!";
  644. ekwip();
  645. getch();
  646. exit(1);
  647. }
  648.  
  649. //###############################################################
  650.  
  651. void bojka()
  652. {
  653. cl();
  654. ustaw_parametry();
  655. int sila_przed_pojedynkiem=geralt.sila;
  656. if(geralt.eliksy>0)
  657. {
  658. cout<<"Chcesz sie napic eliksiru?"<<endl<<endl;
  659. cout<<"1. Tak."<<endl;
  660. cout<<"2. Nie."<<endl;
  661. anim();
  662. switch(a)
  663. {
  664. case 1: {eliksir_TAK(); break;}
  665. case 2: break;
  666. case 0: koniec_gry1();
  667. default: break;
  668. }
  669. }
  670. cl();
  671. cout<<"Rozpoczynasz walke z pijakiem."<<endl<<endl<<endl;
  672. ekwip();
  673. msleep(2000);
  674. cl();
  675. wrog.zdrowie=100;
  676. wrog.sila=3;
  677. wrog.pancerz=3;
  678. do
  679. {
  680. cl();
  681. int kto_pierwszy=rand()%100;
  682. if(kto_pierwszy<50)
  683. {
  684. geralt.walka_na_piesci=true;
  685. wrog.walka_na_piesci=true;
  686.  
  687. obrazenia_wroga();
  688. if(wrog.zdrowie<0){wrog.zdrowie=0;}
  689. cout<<"Uderzasz pijaka i zadajesz mu "<<obrazenia<<" obrazen."<<endl<<endl;
  690. cout<<"Zdrowie pijaka: "<<wrog.zdrowie<<endl;
  691. ekwip();
  692. }
  693. if(kto_pierwszy>49)
  694. {
  695. geralt.walka_na_piesci=true;
  696. wrog.walka_na_piesci=true;
  697. obrazenia_geralta();
  698. cout<<"Pijak cie uderza i zadaje ci "<<obrazenia<<" obrazen."<<endl<<endl;
  699. cout<<"Zdrowie pijaka: "<<wrog.zdrowie<<endl;
  700. ekwip();
  701. }
  702. msleep(2000);
  703. }while(geralt.zdrowie>0 && wrog.zdrowie>0);
  704. geralt.sila=sila_przed_pojedynkiem;
  705. if(geralt.zdrowie>100)
  706. {
  707. geralt.zdrowie=100;
  708. }
  709. if(geralt.zdrowie<0)
  710. {
  711. geralt.zdrowie=0;
  712. }
  713. if(geralt.zdrowie==0)
  714. {
  715. koniec_gry1();
  716. }
  717.  
  718. cl();
  719. cout<<"Wygrales! Pijak lezy jak niezywy na ziemi. Wokol walaja sie resztki stolu. Nacisnij ENTER, aby przejsc dalej."<<endl;
  720. ekwip();
  721. getch();
  722. cl();
  723. ustaw_parametry();
  724. cout<<"\"Dziekuje wiedzminie, nauczyles tego cwoka rozumu. Zasluzyles na nagrode.\" Karczmarz z wdziecznosci przekazuje ci 50 denarow."<<endl;
  725. ekwip();
  726. getch();
  727. cl();
  728. ustaw_parametry();
  729. cout<<"Otrzymujesz 50 denarow."<<endl;
  730. geralt.forsa=geralt.forsa+50;
  731. ekwip();
  732. getch();
  733. karczma();
  734. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement