Arusekk

Faster Than Gruz v0.4.13e

Jul 22nd, 2015
609
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 96.23 KB | None | 0 0
  1. //FTG V. 0.4.13e syf-free update
  2.  
  3. // Code by Zbigniew Drozd. Przyw³aszczanie/sprzedawanie kodu jest zabronione,
  4. // natomiast jego edytowanie jest dozwolone po skopiowaniu tych komentarzy.
  5. // W razie watpliwosci co do dzialania fragmetow kodu mozna zadawac pytania
  6. // Chetnie odpowiem na nie na facebookowym fanpagu
  7. // Faster Than Gruz
  8. // mi³ej gry
  9.  
  10.  
  11. #include <cstdio>
  12. #include <cmath>
  13. #include <algorithm>
  14. #include <vector>
  15. #include <sstream>
  16. #include <ctime>
  17. #include "conio.h"
  18. #ifdef __WIN32
  19. #include <conio.h>
  20. #include <windows.h>
  21. #endif
  22. #include <cstdlib>
  23. using namespace std;
  24. void CPos(int i, int j) {
  25.   COORD cPos;
  26.   cPos.X = j;
  27.   cPos.Y = i;
  28.   SetConsoleCursorPosition(GetStdHandle(STD_OUTPUT_HANDLE), cPos);
  29. }
  30. //BEGIN REDEF
  31. void wholescr();
  32. int qprintf(const char*);
  33. void clearwindow(int,int,int,int);
  34. void printfceny();
  35. void printfgielda();
  36. void printftabor();
  37. //END REDEF
  38. const char* imiona[]={
  39.   "Karol",
  40.   "Andrzej",
  41.   "Pawel",
  42.   "Gruzanna",
  43.   "Gruzorzata",
  44.   "Gruzadi",
  45.   "Gruzio",
  46.   "Filip",
  47.   "Gruzeusz",
  48.   "Gruzary",
  49.  
  50.   "Hubert",
  51.   "Kamil",
  52.   "Gruzadiusz",
  53.   "Gruzbigniew",
  54.   "Gruzbyslaw",
  55.   "Gruzomil",
  56.   "Gruzalena",
  57.   "Gruzonio",
  58.   "Gruzyslaw",
  59.   "Gruzef",
  60.   "Gruzofil",
  61.   "Gruzymilian",
  62.   "Gruzelina",
  63.   "Gruzold",
  64.   "Gruzofia",
  65.   "Gruzdolf",
  66.   "Gruzciszek",
  67.   "Gruzislaw",
  68.   "Gruzoteusz",
  69.   "Gruzetan",
  70.   "Gryztian",
  71.   "Gruztlomiej",
  72.   "Gruzastian",
  73.   "Gruznacy",
  74.   "Gruzdzislaw",
  75.   "Gruzelard",
  76.   "Gruzbert",
  77.   "Gruzszard",
  78.   "Gruzenon",
  79.   "Gruzenobia",
  80.   "Grudia",
  81.   "Adamiakowa",
  82. };
  83. const char* nazwiska[]={
  84.   "Koporski",
  85.   "Gosciej",
  86.   "Jasiak",
  87.   "Wrabec",
  88.   "Stasiak",
  89.   "Gruzawal",
  90.   "Mastazio",
  91.   "Gruzorowski",
  92.   "Morda",
  93.   "Bednarz",
  94.  
  95.   "Kowalski",
  96.   "Gruzowicz",
  97.   "Gruzson",
  98.   "Gruzerstein",
  99.   "Gruzermann",
  100.   "Gruzerberg",
  101.   "Goldgruz",
  102.   "Silbergruz",
  103.   "Zuckergruz",
  104.   "Odobescu",
  105.   "Negruzzi",
  106.   "Barbu",
  107.   "Bacon",
  108.   "Hubertowicz",
  109.   "Gruz",
  110.   "Grudziewicz",
  111.   "Gruzerfrau",
  112.   "Zuckerfrau",
  113.   "Silberfrau",
  114.   "Goldfrau",
  115. };
  116. const int specialnames=10;
  117. const char* miasta[]={
  118.   "New Gruz",
  119.   "Las Gruzas",
  120.   "Los Gruzeles",
  121.   "Gruzkjavik",
  122.   "Obwod Gruzingradzki",
  123.   "Dolnogruzki Okreg Przemyslowy",
  124.   "Gruzbork",
  125.   "Gruziadz",
  126.   "Wegruz",
  127.   "Bialogruz",
  128.   "Gruzbekistan",
  129.   "Gruzylvania",
  130.   "Amstergruz",
  131.   "Rottergruz",
  132.   "Gruzemburg",
  133.   "Gruzagaskar",
  134.   "Srigruzanka",
  135.   "Gruzstadt",
  136.   "Gruzenhaga",
  137.   "Bydgruszcz",
  138.   "Gruzabama",
  139.   "Gruzestyna",
  140.   "Gruzgaria",
  141.   "Gruzteny",
  142.   "Gruzopolis",
  143.   "Gruzapeszt",
  144.   "Gruzareszt",
  145.   "Gruzidney",
  146.   "Gruzberra",
  147.   "Gruzelbourne",
  148.   "Gruzowice",
  149.   "Gruzow",
  150.   "Nowa Gruznia",
  151.   "Wolgogruz",
  152.   "Gruzograd",
  153.   "Gruzogrodziec",
  154.   "Gruszawa",
  155.   "Podgruzyn",
  156.   "Gruznezja",
  157.   "Gruzystan",
  158.   "Gruzmenia",
  159.   "Gruzachstan",
  160.   "Gruz Vegas",
  161.   "Hollygroos",
  162.   "Gruzantyda",
  163. };
  164. vector<const char*> itemki;
  165. int xpoz, ypoz;
  166. short int zapiwniczenie;
  167. bool choose,blackmarketshow;
  168. int enemytabortgt[5];
  169. int hazardstawka, kapslewin;
  170. bool dead, win;
  171. int possibletgt[5];
  172. int kosciwin, koscibet;
  173. int tabortgt[5];
  174. double x, y;
  175. char hazardkey, hazardinkey, hazardkosci;
  176. int hazardpoz;
  177. int miss;
  178. int hhh;
  179. const int blackoplata=10;
  180. int damage;
  181. char taborweapon[5];
  182. long long int hajs = 10000;
  183. int taborallyhp[5];
  184. char currcity;
  185. int fightpoz;
  186. double iteracja;
  187. double piec = 5;
  188. double dziesiec = 10;
  189. double pietnascie = 15;
  190. double czterdziesciszesc = 46;
  191. int fajtszens;
  192. char ammotype;
  193. int ammopoz;
  194. int tmp;
  195. char fightkey;
  196. int citynum;
  197. int marker;
  198. int ftgpoz;
  199. bool done;
  200. bool stunuzyty, fragbombauzyta;
  201. int taborenemyhp[5];
  202. int drogi;
  203. int i, j;
  204. short int citytype[25];
  205. short int citygipsyness[25];
  206. char miastotyp[3];
  207. long long int good, ok, bad;
  208. int menupozold;
  209. long long int bank, media, granie, budowa, kradl;
  210. long long int uciekl, zlapany;
  211. long long int rschtask;
  212. char selset;
  213. int setpozold;
  214. char citysel;
  215. bool gipsynews = true;
  216. int setpoz;
  217. long long int a = 1;
  218. bool labwork = false;
  219. long long int labtime;
  220. long long int bhplvl = 1;
  221. long long int deadminer;
  222. long long int surrtimr;
  223. long long int gornicy, rzemieslnicy, naukowcy, miastowi, freegipsy;
  224. long long int kradziejtrain, kradziejtrainamt, labgips;
  225. char schoolkey, kopajkey, sellgruzkey, labsel, reskey;
  226. long long int schoolpoz, minercnt, dzien, oldtabor = 2, buycygan, buytaborey, buytaboramt, kupcyganakey, sellcyganakey, kuptaboraamt, kopajamt;
  227. char currsch[25];
  228. long long int minelvl = 1;
  229. long long int sellgruzamt, respoz;
  230. long long int respozold = 1;
  231. long long int kupcyganaamt;
  232. long long int buytaboramtold;
  233. char tmpsel;
  234. long long int sellcyganaamt;
  235. long long int buytaborkey;
  236. long long int boytaboramttold = 1;
  237. long long int kupcyganaamtold = 1;
  238. long long int sellcyganaamtold = 1;
  239. long long int skleppoz;
  240. bool bylpytany[10];
  241. long long int sklepkey;
  242. long long int skleppozold;
  243. long long int sellcygan;
  244. long long int sellgruz;
  245. long long int maxcygan = 50;
  246. int hajsnarynek;
  247. int blacktowar[10];
  248. int imie[10][2];
  249. int lubienie[10]={3,3,3,3,3,3,3,3,3,3};
  250. int cyganstwo[10];
  251. char logoFNAC[50][50] = {
  252.   "    ###   O#O   ###    ",
  253.   "   #####  #v#  #####   ",
  254.   "  ## ####  #  #### ##  ",
  255.   " ##   #### # ####   ## ",
  256.   "##     #########     ##",
  257.   "       #########       ",
  258.   "        ##   ##        ",
  259.   "       ##     ##       ",
  260.   "       /       \\      ",
  261.   "     _/         \\_   ",
  262.   "QQQQQ QQ   Q   Q    QQQ ",
  263.   "Q     Q Q  Q  Q Q  Q   Q",
  264.   "QQQQQ Q  Q Q Q   Q Q    ",
  265.   "Q     Q   QQ QQQQQ Q   Q",
  266.   "Q     Q    Q Q   Q  QQQ ",
  267. };
  268. char towary [50][50] = {
  269.   "tanie zegarki",
  270.   "gry z torrentow",
  271.   "Bron biala",
  272.   "marihuaen",
  273.   "narkotyki",
  274.   "stare komorki",
  275.   "gazety",
  276.   "falszywe dokumenty",
  277.   "dopalacze",
  278.   "alkohol",
  279.   "bron palna",
  280.   "falszywe dyplomy",
  281.   "kradzione rowery",
  282. };
  283. char dyplomtype[50][50] = {
  284.   "Ukonczenia SP",
  285.   "Ukonczenia GIM",
  286.   "Ukonczenia LO",
  287.   "Ukonczenia LP",
  288.   "Ukonczenia uniewsytetu",
  289.   "Ukonczenia politechniki",
  290.   "Ukonczenia technikum",
  291. };
  292. char SPtypes[2][50] = {
  293.   "Z wyroznieniem  75CK",
  294.   "Bez wyroznienia 25CK",
  295. };
  296. char GIMtypes[4][50] = {
  297.   "Z wyroznieniem 200CK"
  298.   "Bez wyroznienia 100CK",
  299.   "Z laureatem olimpiady 500CK"
  300. };
  301. char LOtypes[3][50] = {
  302.   "Z wyroznieniem  500CK",
  303.   "Bez wyroznienia 250CK",
  304. };
  305. char LPtypes[15][50] = {
  306.   "Pol-Hist 20",
  307.   "Mat-Fiz 500",
  308.   "Mat-Inf 750",
  309.   "Mat-Mat 600",
  310.   "Biol-Chem 800",
  311.   "Praw-Eko 100",
  312.   "Pol-Hist z wyroznieniem 25",
  313.   "Mat-Fiz z wyroznieniem 750",
  314.   "Mat-Inf z wyroznieniem 1000",
  315.   "Mat-Mat z wyroznieniem 1000",
  316.   "Biol-Chem z wyroznieniem 1600",
  317.   "Praw-Eko z wyroznieniem 200",
  318. };
  319. char uniwersytettypes[15][50] = {
  320.   "dyplom ukonczenia",
  321.  
  322.  
  323.  
  324. };
  325.  
  326. char pliki [20][50] = {
  327.   "Raport 11-21-312-1232.txt", // K
  328.   "Connection 21-04-1998.log",
  329.   "Raport 11-22-313-1292.txt", // K
  330.   "Minecraft.exe",
  331.   "Connection 22-04-1998.log",
  332.   "Raport 11-23-314-1319.txt", // K
  333.   "Internet explorer.exe",
  334.   "Raport 11-24-315-1387.txt", // K
  335.   "Projekt Gruzojad.doc",
  336.   "Connection 23-04-1998.log",
  337.   "Obrona pracy mag.rtf",
  338.   "Raport 11-25-315-1495",
  339.   "Connection 24-04-1998.log",
  340. };
  341. void printfwindow(int g, int b, int c, int d) {
  342.   CPos(g, b);
  343.   for (int i = b; i < c; i++)
  344.     printf("%c", 219);
  345.   for (int i = g; i < d; i++) {
  346.     CPos(i, c);
  347.     printf("%c", 219);
  348.     CPos(i, b);
  349.     printf("%c", 219);
  350.     CPos(d, b);
  351.     for (int j = b; j < c + 1; j++)
  352.       printf("%c", 219);
  353.   }
  354. }
  355. void Raport_11_21_312_1232_txt() {
  356.   wholescr();
  357.   CPos(1,1); qprintf("Dane scisle poufne, Wlasnosc FNAC");
  358.   CPos(2,1); qprintf("dwudziesty pierwszy listopada 1998AD, trzysta osiemdziesiaty dzien");
  359.   CPos(3,1); qprintf("dzialania FANC. Budzet stowarzyszenia wynosi 12391231241 kozdolarow");
  360.   CPos(4,1); qprintf("na stan oddzialow sklada sie 12 000 zolniezy stacjonujacych w koszarach");
  361.   CPos(5,1); qprintf("500 000 piechoty gotowej do mobilizacji w trzy dni");
  362.   CPos(6,1); qprintf("Dzial polityki otrzymal nowe propozycje czlonkowstwa federacji");
  363.   CPos(7,1); qprintf("Na liscie znajduje sie gruzja i rumunia, i choc wielkiego stezenia");
  364.   CPos(8,1); qprintf("Cyganow/km^2, Rada decyduje sie przyjac te panstwa do Federacji");
  365.   CPos(9,1); qprintf("Wcisnij dowolny klawisz aby wrocic do menu");
  366. }
  367. void Raport_11_22_312_1232_txt() {
  368.   wholescr();
  369.   CPos(1,1); qprintf("Dane scisle poufne, Wlasnosc FNAC");
  370.   CPos(2,1); qprintf("Decyzja o przyjeciu nowych panstw odbyla sie w trybie przyspieszonym");
  371.   CPos(3,1); qprintf("Rada byla jednomyslna co do pomocy tym panstwom. Terminy deportacji");
  372.   CPos(4,1); qprintf("sa jeszcze nieznane, choc juz wiadomo, ze ludnosc latwo sie nie podda");
  373.   CPos(5,1); qprintf("Rada wydala rozkaz mobilizacji zolnierzy, rozkaz zostal wykonany");
  374. }
  375. void Raport_11_23_312_1232_txt() {
  376.   wholescr();
  377.   CPos(1,1); qprintf("Dane scisle poufne, Wlasnosc FNAC");
  378.   CPos(2,1); qprintf("Raport na dwudziestego trzeciego listopada 1998AD");
  379.   CPos(3,1); qprintf("Decyzja o deportacji zostala podjeta. Rada zarzadala mobilizacji");
  380.   CPos(4,1); qprintf("wszystkich dostepnych sil. Sytuacja w panstwach docelowych jest");
  381.   CPos(5,1); qprintf("Krytyczna. Moj oddzial otrzymal rozkazy ze jutro wyruszaja");
  382.   CPos(6,1); qprintf("do strefy \"C\", gdzie ilosc cyganow przekracza 10000/1km^2");
  383.   CPos(7,1); qprintf("Jako oddzial szturmowy bez wachania przyjeli rozkaz bez cienia");
  384.   CPos(8,1); qprintf("strachu. W koncu ktos musi walczyc o lepsze jutro");
  385. }
  386. void Raport_11_24_312_1232_txt() {
  387.   wholescr();
  388.   CPos(1,1); qprintf("Dane scisle poufne, Wlasnosc FNAC");
  389.   CPos(2,1); qprintf("Oddzial szurmowy zostal rozgromiony. Ponieslilmy wielkie straty");
  390.   CPos(3,1); qprintf("Dziewiecdziesiat ze stu osob z oddzialu ponioslo smierc na miejscu");
  391.   CPos(4,1); qprintf("Pozostala dziesiatka przez wiele miestecy bedzie sie zmagac z problemami");
  392.   CPos(5,1); qprintf(",a pelna sprawnosc psychiczna prawdopodobnie nigdy nie powroci");
  393. }
  394. long long int sellpatelnia;
  395. long long int buytabor;
  396. long long int gruz = 100;
  397. long long int menupoz = 1;
  398. char sel;
  399. long long int tabor = 200;
  400. long long int wozki = 5;
  401. int citypoz[2][24];
  402.  
  403. int warqprintf(const char* fmt, int a) {
  404.   int len=strlen(fmt);
  405.   for (int x=0; x<len; x++) {
  406.     printf("%c", fmt[x]);
  407.     if (!kbhit())Sleep(a);
  408.   }
  409.   return 1;
  410. }
  411. int qprintf(const char* fmt) {
  412.   return warqprintf(fmt, 10);
  413. }
  414. char stragan[20][40] = {
  415.   " /////////////////////////////",
  416.   "/////////////////////////////|",
  417.   "|                            |",
  418.   "|           ####             |",
  419.   "|          #    #            |",
  420.   "|         # @  @ #           |",
  421.   "|         #      #           |",
  422.   "|          # == #            |",
  423.   "|           ####             |",
  424.   "|            ||              |",
  425.   "##############################",
  426.   "##############################",
  427. };
  428. char market[70][70] = {
  429.   "42d2222222d2222d2222222d2222d2222222d2222d2222222d2222d2222222d25",
  430.   "1 b       b    b       b    b       b    b       b    b       b 1",
  431.   "1 b   g   b    b   g   b    b   g   b    b   g   b    b   g   b 1",
  432.   "1 b  rhw  b    b  rhw  b    b  rhw  b    b  rhw  b    b  rhw  b 1",
  433.   "1 b  r w  b    b  r w  b    b  r w  b    b  r w  b    b  r w  b 1",
  434.   "1 lllllllll    lllllllll    lllllllll    lllllllll    lllllllll 1",
  435.   "1                                                               1",
  436.   "tttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttt1",
  437.   "tttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttt1",
  438.   "tttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttt1",
  439.   "tttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttt1",
  440.   "tttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttt1",
  441.   "tttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttt1",
  442.   "1                                                               1",
  443.   "1 lllllllll    lllllllll    lllllllll    lllllllll    lllllllll 1",
  444.   "1 b       b    b       b    b       b    b       b    b       b 1",
  445.   "1 b   g   b    b   g   b    b   g   b    b   g   b    b   g   b 1",
  446.   "1 b  rhw  b    b  rhw  b    b  rhw  b    b  rhw  b    b  rhw  b 1",
  447.   "1 b  r w  b    b  r w  b    b  r w  b    b  r w  b    b  r w  b 1",
  448.   "32k2222222k2222k2222222k2222k2222222k2222k2222222k2222k2222222k26",
  449. };
  450. char pojazd[18][18] = {
  451.   "#############",
  452.   "#           #",
  453.   "#           #",
  454.   "#############",
  455. };
  456. char citymap[50][50] = {
  457.   "      1 --- 2 --- 3 --- 4          ",
  458.   "     / \\   / \\   / \\   / \\     ",
  459.   "    /   \\ /   \\ /   \\ /   \\    ",
  460.   "   5 --- 6 --- 7 --- 8 --- 9       ",
  461.   "  / \\   / \\   / \\   / \\   / \\ ",
  462.   " /   \\ /   \\ /   \\ /   \\ /   \\",
  463.   "a --- b --- c --- d --- e --- f    ",
  464.   " \\   / \\   / \\   / \\   / \\   /",
  465.   "  \\ /   \\ /   \\ /   \\ /   \\ / ",
  466.   "   g --- h --- i --- j --- k       ",
  467.   "    \\   / \\   / \\   / \\   /    ",
  468.   "     \\ /   \\ /   \\ /   \\ /     ",
  469.   "      l --- m --- n --- o          ",
  470. };
  471. char polaczenia[35][35] = {
  472.   "123456789abcdefghijklmno",
  473.   "265zzz", // 1
  474.   "1367zz", // 2
  475.   "2487zz", // 3
  476.   "389zzz", // 4
  477.   "16abzz", // 5
  478.   "1257bc", // 6
  479.   "2368cd", // 7
  480.   "3479de", // 8
  481.   "48efzz", // 9
  482.   "5bgzzz", // a
  483.   "56acgh", // b
  484.   "67bdhi", // c
  485.   "78ceij", // d
  486.   "89dfjk", // e
  487.   "93kzzz", // f
  488.   "abhlzz", // g
  489.   "bcgilm", // h
  490.   "cdhjmn", // i
  491.   "deiknp", // j
  492.   "efjozz", // k
  493.   "ghmzzz", // l
  494.   "lhinzz", // m
  495.   "ijmozz", // n
  496.   "jknzzz", // o
  497. };
  498. short nazwymiast[24];
  499. char menu[25][25] = {
  500.   "gielda", "szaman", "kopalnia", "miasto", "komputer", "laboratorium", "Kolejny dzien", "ustawienia", "FTG"
  501. };
  502. char sklepik[25][25] = {
  503.   "kup cygana", "sprzedaj cygana", "kup tabor", "czarny rynek", "sprzedaj gruz", "wyjdz"
  504. };
  505.  
  506.  
  507. //BEGINWS
  508. template<typename T>
  509. int lwsselect(int xpos, int ypos, int ile, T it) {
  510.   CPos(xpos, ypos-1); printf("%c", 26);
  511.   int szer=0;
  512.   char key, poz;
  513.   bool czysc=true;
  514.   if (ile<0) {
  515.     czysc=false;
  516.     ile*=-1;
  517.   }
  518.   std::vector<const char*> v;
  519.   for (poz=0; poz<ile; poz++) {
  520.     v.push_back(*(it++));
  521.     szer=std::max<size_t>(szer, strlen(v.back()));
  522.   }
  523.   for (poz=0; poz<ile; poz++) {
  524.     CPos(xpos+poz, ypos);
  525.     printf("%-*s", szer, v[poz]);
  526.   }
  527.   poz = 0;
  528.   for (;;) {
  529.     CPos(0, 0);
  530.     Sleep(1);
  531.     if (_kbhit()) {
  532.       key = _getch();
  533.      
  534.       if (key == 'e') {
  535.     break;
  536.       }
  537.      
  538.       if (key == 'w' && poz > 0) poz--;
  539.       if (key == 's' && poz < ile-1) poz++;
  540.      
  541.       if (poz > 0) {
  542.     CPos(poz+xpos-1, ypos-1);
  543.     printf(" ");
  544.       }
  545.       CPos(poz+xpos, ypos-1);
  546.       printf("%c", 26);
  547.       if (poz < ile-1) {
  548.     CPos(poz+xpos+1, ypos-1);
  549.     printf(" ");
  550.       }
  551.     }
  552.   }
  553.   if (czysc)
  554.     while(ile--) {
  555.       CPos(xpos+ile, ypos-1);
  556.       for (i=0; i<=szer; i++)
  557.     printf(" ");
  558.     }
  559.     return poz;
  560. }
  561.  
  562. int vwsselect(int xpos, int ypos, int ile, va_list vv) { // ujemne ile powoduje nieczyszczenie
  563.   int nile=std::abs(ile);
  564.   std::vector<const char*> v;
  565.   while(nile--)
  566.     v.push_back(va_arg(vv, const char*));
  567.   return lwsselect(xpos, ypos, ile, v.begin());
  568. }
  569.  
  570. int wsselect(int xpos, int ypos, int ile, ...) { // ujemne ile powoduje nieczyszczenie
  571.   va_list vv;
  572.   va_start(vv, ile);
  573.   int ret=vwsselect(xpos, ypos, ile, vv);
  574.   va_end(vv);
  575.   return ret;
  576. }
  577. //ENDWS
  578.  
  579. bool startswith(const char* dlugie, const char* krotkie) {
  580.   while (*krotkie)if(*(dlugie++)!=*(krotkie++))break;return!*krotkie;
  581. }
  582. void buffersink() {
  583.   while(_kbhit())_getch();
  584. }
  585. int targuj(int cena) {
  586.   if (cena == 0) return 0;
  587.   if (cena > hajsnarynek) return hajsnarynek-cena;
  588.   int mincena=rand() % (int)ceil(cena/2) + ceil(cena/10);
  589.   int maxcena=rand()%cena+cena;
  590.   CPos(1, 41);
  591.   printf("Sprzedawca chce %-22d", cena);
  592.   while (wsselect(2,42,2,"ok biore","za drogo")) {
  593.     CPos(2, 41);
  594.     if (cena < maxcena && (rand()%100 < 40 || cena <= mincena)) {
  595.       printf("Co? Nie pasuje? To dam w gore");
  596.       cena += rand()%(maxcena-cena)+1;
  597.     }
  598.     else {
  599.       printf("Moze faktycznie troche drogo");
  600.       cena -= rand()%(cena-mincena)+1;
  601.     }
  602.     Sleep(5000);
  603.     CPos(2, 41);
  604.     printf("                               ");
  605.     CPos(1, 41);
  606.     printf("Sprzedawca chce %-4d", cena);
  607.   }
  608.   CPos(1, 41);
  609.   printf("                    ");
  610.   return cena;
  611. }
  612. const char* itemnapis(const char* nazwa, int ile) {
  613.   std::stringstream ss;
  614.   ss << nazwa << " [" << ile << "x]";
  615.   char* napis = new char[ss.str().size()];
  616.   int i;
  617.   for (i = 0; ss.str()[i]; i++)
  618.     napis[i] = ss.str()[i];
  619.   napis[i] = '\0';
  620.   return napis;
  621. }
  622. void dodajdoitemu(int id, int ile) {
  623.   char* napis = (char*)itemki[id];
  624.  
  625.   int ile2, i;
  626.   for (i=0; napis[i] != '['; i++);
  627.   napis[i-1] = '\0';
  628.   sscanf(napis + i, "[%dx]", &ile2);
  629.   ile += ile2;
  630.   const char* oldptr = itemki[id];
  631.   if (ile <= 0)
  632.     itemki.erase(itemki.begin() + id);
  633.   else
  634.     itemki[id] = itemnapis(napis, ile);
  635.   delete[] oldptr;
  636. }
  637. void dodajitem(const char* nazwa, int ile) {
  638.   unsigned int i;
  639.   for (i=0; i<itemki.size(); i++)
  640.     if (startswith(itemki[i], nazwa)) {dodajdoitemu(i, ile);
  641.       return;}
  642.       itemki.push_back(itemnapis(nazwa, ile));
  643. }
  644. void kupowanie_dyplomy() { //TODO
  645.   int typ, dyp = lwsselect(1, 42, 7, dyplomtype);
  646.   if (dyp == 0) {
  647.     typ = lwsselect(1, 42, 2, SPtypes);
  648.     CPos(1, 41); qprintf("Wybrales dyplom SP nr ");
  649.     printf("%d", typ);
  650.   }
  651.   else if (dyp == 1) {
  652.     typ = lwsselect(1, 42, 3, GIMtypes);
  653.     CPos(1, 41); qprintf("Wybrales dyplom GIM nr ");
  654.     printf("%d", typ);
  655.   }
  656.   else if (dyp == 2) {
  657.     typ = lwsselect(1, 42, 2, LOtypes);
  658.     CPos(1, 41); qprintf("Wybrales dyplom LO nr ");
  659.     printf("%d", typ);
  660.   }
  661.   else if (dyp == 3) {
  662.     typ = lwsselect(1, 42, 12, LPtypes);
  663.     CPos(1, 41); qprintf("Wybrales dyplom LP nr ");
  664.     printf("%d", typ);
  665.   }
  666.   else if (dyp == 4) {
  667.     typ = lwsselect(1, 42, 1, uniwersytettypes);
  668.     CPos(1, 41); qprintf("Wybrales dyplom uni nr ");
  669.     printf("%d", typ);
  670.   }
  671. }
  672. void kupowanie(int type) { //TODO
  673.   int heis;
  674.   CPos(1, 41);
  675.   if(type == 0) {
  676.     qprintf("Tanie zegarki prosto od Nowaka");
  677.     Sleep(3000);
  678.     if ((heis = targuj(800))<0) return;
  679.     hajsnarynek -= heis;
  680.     dodajitem("rolex", 16);
  681.   }
  682.   if(type == 1) {
  683.     qprintf("Takie gry to nie w kasze dmuchal");
  684.     Sleep(3000);
  685.     if ((heis = targuj(110))<0) return;
  686.     hajsnarynek -= heis;
  687.     dodajitem("MinecraftPremium", 2);
  688.   }
  689.   if(type == 2) {
  690.     qprintf("Noze miecze inne takie");
  691.     Sleep(3000);
  692.     if ((heis = targuj(97))<0) return;
  693.     hajsnarynek -= heis;
  694.     dodajitem("kosa ze skinem", 3);
  695.   }
  696.   if(type == 3) {
  697.     qprintf("Smeuk wedd evridei");
  698.     Sleep(3000);
  699.     if ((heis = targuj(90))<0) return;
  700.     hajsnarynek -= heis;
  701.     dodajitem("zio\210o", 40);
  702.   }
  703.   if(type == 4) {
  704.     qprintf("Classic: HeraKoka#LSD");
  705.     Sleep(3000);
  706.     if ((heis = targuj(100))<0) return;
  707.     hajsnarynek -= heis;
  708.     dodajitem("drugz", 20);
  709.   }
  710.   if(type == 5) {
  711.     qprintf("Nokia 3310i");
  712.     Sleep(3000);
  713.     if ((heis = targuj(1030))<0) return;
  714.     hajsnarynek -= heis;
  715.     dodajitem("nokia", 3);
  716.   }
  717.   if(type == 6) {
  718.     qprintf("Wyborczej nie ma");
  719.     Sleep(3000);
  720.     if ((heis = targuj(20))<0) return;
  721.     hajsnarynek -= heis;
  722.     dodajitem("UwarzamIrz", 3);
  723.   }
  724.   if(type == 7) {
  725.     qprintf("Dokumenty prosze XD");
  726.     Sleep(3000);
  727.     if ((heis = targuj(93))<0) return;
  728.     hajsnarynek -= heis;
  729.     dodajitem("legitymacja", 80);
  730.   }
  731.   if(type == 8) {
  732.     qprintf("Tynk, czyli cyganski koks");
  733.     Sleep(3000);
  734.     if ((heis = targuj(200))<0) return;
  735.     hajsnarynek -= heis;
  736.     dodajitem("tynk", 80);
  737.   }
  738.   if(type == 9) {
  739.     qprintf("Bimber cyganski");
  740.     Sleep(3000);
  741.     if ((heis = targuj(100))<0) return;
  742.     hajsnarynek -= heis;
  743.     dodajitem("alko", 20);
  744.   }
  745.   if(type == 10) {
  746.     qprintf("Postrzelasz sobie");
  747.     Sleep(3000);
  748.     if ((heis = targuj(1500))<0) return;
  749.     hajsnarynek -= heis;
  750.     dodajitem("AKA47+", 2);
  751.   }
  752.   if(type == 11) kupowanie_dyplomy();
  753.   if(type == 12) {
  754.     qprintf("Lowelku, jedz!");
  755.     Sleep(3000);
  756.     if ((heis = targuj(1500))<0) return;
  757.     hajsnarynek -= heis;
  758.     dodajitem("rower", 2);
  759.   }
  760. }
  761. char projekty[25][25] = {
  762.   "ulepszone kilofy", "BHP"
  763. };
  764. char gruzwydob[25][25] = {
  765.   "Metalowe ostrze", "Trzonek z amelinium", "Podwojne ostrze", "Kilof GPU", "Overclockowany procesor", "Multithreading", "Superpoycja gruzowa", "Rek. zagl. kopalni", "Dynamiczna rekurencja", "Kopalnia Fobbonacciego"
  766. };
  767. char gruzwydobe[25][25] = {
  768.   "2X wiecej gruzu", "3X wiecej gruzu", "4X wiecej gruzu", "5X wiecej gruzu", "6X wiecej gruzu", "7X wiecej gruzu", "8X wiecej gruzu", "9X wiecej gruzu", "10X wiecej gruzu", "11X wiecej gruzu"
  769. };
  770. int gruzwydobp[11] = {
  771.   100, 250, 750, 2500, 5000, 15000, 60000, 120000, 5000000, 10000000
  772. };
  773. int gruzwydobd[11] = {
  774.   10, 30, 100, 365, 666, 2000, 7000, 14000, 28000, 50000
  775. };
  776. char bhp[25][25] = {
  777.   "Apteczki", "lekcje EDB", "obowiazkowe lekcje EDB", "Rozmowa z psychologiem", "Obuwie ochronne", "Markowe obuwie ochronne", "Chodzenie w grupach", "Tablice bezpieczenstwa", "edukacyjny CD-ROM", "Szczepienie na gruzlice"
  778. };
  779. char bhpe[25][25] = {
  780.   "9% szans na wypadek", "8% szans na wypadek", "7% szans na wypadek", "6% szans na wypadek", "5% szans na wypadek", "4% szans na wypadek", "3% szans na wypadek", "2% szans na wypadek", "1% szans na wypadek", "bezypadkowa praca"
  781. };
  782. int bhpp[11] = {
  783.   100, 250, 750, 2500, 5000, 15000, 60000, 1200000, 500000000, 1000000000
  784. };
  785. int bhpd[11] = {
  786.   10, 30, 100, 365, 666, 2000, 7000, 140000, 2800000, 50000000
  787. };
  788. void wholescr() {
  789.   for (int i = 1; i < 24; i++) {
  790.     CPos(i, 1);
  791.     printf("                                                                              ");
  792.   }
  793. }
  794. void setcolor(unsigned short int color) {
  795.   SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), color);
  796. }
  797. char tekst[100] = {
  798.   "faster than gruz"
  799. };
  800. char cygan[6][6] = {
  801.   " t ",
  802.   "/|\\",
  803.   "/ \\",
  804. };
  805. char wagon[30][30] = {
  806.   "####################",
  807.   "#                  #",
  808.   "#                  #",
  809.   "#                  #",
  810.   "#                  #",
  811.   "#                  #",
  812.   "#                  #",
  813.   "#                  #",
  814.   "#                  #",
  815.   "#                  #",
  816.   "####################",
  817. };
  818. char logo[100][100] = {
  819.   "###############     ###################        ###############",
  820.   "###############     ###################        ###############",
  821.   "###############     ###################        #####     #####",
  822.   "#####                      #####               #####",
  823.   "#####                      #####               #####",
  824.   "##########                 #####               #####",
  825.   "##########                   #####               #####    #######",
  826.   "##########                   #####               #####    ####### ",
  827.   "#####                      #####               #####     #####",
  828.   "#####                      #####               ############### ",
  829.   "#####                      #####               ############### ",
  830.   "#####                      #####               ###############",
  831. };
  832. void blackmarketintro() {
  833.   if(blackmarketshow == false)
  834.   {
  835.     blackmarketshow = true;
  836.     wholescr();
  837.     CPos(1, 1);
  838.     printf("Wchodzisz na czarny rynek. To miejsce slynie z braku wszelkich");
  839.     CPos(2, 1);
  840.     printf("zasad handlu. Tu mozesz kupic wszystko: od gruzu, po bron.");
  841.     CPos(3, 1);
  842.     printf("O kazda cene mozesz sie targowac, jednak uwazaj zeby nie obrazic");
  843.     CPos(4, 1);
  844.     printf("tym sprzedawcy. Tutaj plotki niosa sie szybko, a negatywny stosunek do ciebie");
  845.     CPos(5, 1);
  846.     printf("na pewno skonczy sie wyzszymi cenami, a moze doprowadzic do twojej smierci");
  847.    
  848.     CPos(7, 1);
  849.     printf("Po targu poruszasz sie klawiszami w,s,a,d. ");
  850.     CPos(8, 1);
  851.     printf("Zeby rozmiawiac ze sprzedawca wcisnij e");
  852.     CPos(9, 1);
  853.     printf("Wowczas pokazane zostana mozliwosci dialogu. ");
  854.     CPos(10, 1);
  855.     printf("Zeby zobaczyc swoj plecak nacisnij q");
  856.     CPos(11, 1);
  857.     printf("Pokazane zostana ci rzeczy ktore masz przy sobie i w swoim taborze");
  858.     CPos(12, 1);
  859.     printf("Gdy zostaniesz porwany, spedzisz tydzien w piwnicy,");
  860.     CPos(13, 1);
  861.     printf("a twoi cyganie beda musieli zaplacic okup");
  862.     CPos(14, 1);
  863.     printf("Jesli zostaniesz zabity, badz cyganom nie starczy na okup, gra sie konczy");
  864.    
  865.     CPos(16, 1);
  866.     printf("Na mapie jestes oznaczony kolorem niebieskim, sprzedawcy zielonym");
  867.     CPos(17, 1);
  868.     printf("Klienci szarym");
  869.    
  870.     CPos(18, 1);
  871.     printf("Ta wiadomosc wiecej sie nie wyswietli,");
  872.     CPos(20, 1);
  873.     printf("jesli jednach chcesz ja przeczytac kiedy indziej");
  874.     CPos(21, 1);
  875.     printf("Skorzystaj z Pomocy w menu glownym (Ktore zakodze! Soon(tm))");
  876.     CPos(22, 1);
  877.     printf("Wcisnij dowolny klawisz aby wejsc na market");
  878.     buffersink();
  879.     _getch();
  880.   }
  881. }
  882. void jestorniejestcyganem(int rozmowca) {
  883.   if(cyganstwo[rozmowca] == 1)
  884.   { CPos(1,41); qprintf("Urodzilem sie w federacji. Od dziecka");
  885.     CPos(2,41); qprintf("uczono mnie nienawisci do cyganow.");
  886.     CPos(3,41); qprintf("Gdy mialem 18 lat zostalem mlodszym");
  887.     CPos(4,41); qprintf("zabojca cyganow. zabilem ich kilka");
  888.     CPos(5,41); qprintf("tysiecy, i do dzis pragne ich krwi.");
  889.     CPos(6,41); qprintf("W wieku 25 lat ozenilem sie z piekna");
  890.     CPos(7,41); qprintf("kobieta i mialem trojke dzieci");
  891.     CPos(8,41); qprintf("niestety musialem ich wszystkich");
  892.     CPos(9,41); qprintf("zabic poniewaz moja zona byla cyganka.");
  893.     CPos(10,41); qprintf("Teraz blakam sie po swiecie jako");
  894.     CPos(11,41); qprintf("handlarz szukajac cyganów do zabicia");
  895.     CPos(12,41); printf("Wcisnij dowolny klawisz zeby wrocic");}
  896.    
  897.     if(cyganstwo[rozmowca] == 2)
  898.     {   CPos(1,41); qprintf("Urodzilem sie w gruzolandzie, ale");
  899.       CPos(2,41); qprintf("ucieklem z tamtad jak tylko mialem");
  900.       CPos(3,41); qprintf("18 lat. Znalezienie mieszkania");
  901.       CPos(4,41); qprintf("i pracy na terenie federacji bylo");
  902.       CPos(5,41); qprintf("prawie niemozliwe, poniewaz");
  903.       CPos(6,41); qprintf("z pochodzdenia bylem cyganem");
  904.       CPos(7,41); qprintf("a z wyksztalcenia kopaczem gruzu.");
  905.       CPos(8,41); qprintf("I moze nie nienawidze ich tak bardzo");
  906.       CPos(9,41); qprintf("Zeby od razu zaczac zabijac, ale jak");
  907.       CPos(10,41); qprintf("Tylko jakiegos znajde to chetnie");
  908.       CPos(11,41); qprintf("Ugoszcze go w mojej piwnicy");
  909.       CPos(12,41); printf("Wcisnij dowolny klawisz zeby wrocic");}
  910.      
  911.       if(cyganstwo[rozmowca] == 3){
  912.     CPos(1,41); qprintf("Nie obchodzi mnie czy ktos jest, czy");
  913.     CPos(2,41); qprintf("Nie jest cyganem. Kiedys cygan byl");
  914.     CPos(3,41); qprintf("moim sasiadem. W sumie fajny koles.");
  915.     CPos(4,41); qprintf("Czesto czestowal mnie gruzem. ");
  916.     CPos(5,41); printf("Wcisnij dowolny klawisz zeby wrocic");}
  917.    
  918.     if(cyganstwo[rozmowca] == 4) {
  919.       CPos(1,41); qprintf("Lubie cyganow. Nie mam nic przeciwko");
  920.       CPos(2,41); qprintf("nim i uwazam ze FNAC robi zle rzeczy.");
  921.       CPos(3,41); qprintf("Przeciez kazdy moze robic co chce,");
  922.       CPos(4,41); qprintf("nawet jesli chodzi o jedzenie gruzu");
  923.       CPos(5,41); printf("Wcisnij dowolny klawisz zeby wrocic");}
  924.      
  925.       if(cyganstwo[rozmowca] == 5) {
  926.         CPos(1,41); qprintf("(szepcze do twojego ucha) Wiesz pan,");
  927.         CPos(2,41); qprintf("w tych czasach nie powinienem tego");
  928.         CPos(3,41); qprintf("mowic ale ja jestem cyganem. Uwazam ze");
  929.         CPos(4,41); qprintf("cyganie powinni walczyc z FNAC ale");
  930.         CPos(5,41); qprintf("nie ma osoby ktora moglaby zjednoczyc");
  931.         CPos(6,41); qprintf("wszystkich cyganow by sprzeciwic sie");
  932.         CPos(7,41); qprintf("federacji");
  933.         CPos(8,41); printf("Wcisnij dowolny klawisz zeby wrocic");
  934.       }
  935.       buffersink();
  936.       _getch();
  937.       for(int i = 0 ; i < 15; i++)
  938.       {
  939.         CPos(i+1,41);
  940.         printf("                                      ");
  941.       }
  942. }
  943. void secretdata() {
  944.   wholescr();
  945.   setcolor(10);
  946.   for(int i = 0 ; i < 15 ; i++)
  947.   {
  948.     CPos(i+5,25);
  949.     for(int j = 0 ; j < 30;  j++)
  950.       if(logoFNAC[i][j] == 'Q')
  951.     printf("%c", 219);
  952.       else
  953.     printf("%c", logoFNAC[i][j]);
  954.   }
  955.   CPos(3,21); qprintf("Federacja Narodow Anty Cyganskich");
  956.   CPos(21,25);
  957.   printf("%c", 201);
  958.   for(int i  = 0 ; i < 23; i++)
  959.     printf("%c", 205);
  960.   printf("%c", 187);
  961.   CPos(22,25); printf("%c", 186);
  962.   CPos(22,49); printf("%c", 186);
  963.  
  964.   CPos(23,25);
  965.   printf("%c", 200);
  966.   for(int i  = 0 ; i < 23; i++)
  967.     printf("%c", 205);
  968.   printf("%c", 188);
  969.   CPos(22,26); warqprintf("*  *  *  *  *  *  *  *", 50);
  970.   Sleep(500);
  971.   CPos(22,26);    qprintf("     ACCESS GRANTED   ");
  972.   Sleep(500);
  973.  
  974.   const char* prompt="hakier@localhost:~$ "; // debian; for redhat: "[hakier@localhost ~]$ "
  975.  
  976.   int iter=0;
  977.   for (int i = 0; i < 15; i++) {
  978.     if (pliki[i][0]!='R') continue;
  979.     wholescr();
  980.     CPos(1,1);
  981.     printf("%s", prompt);
  982.     if (iter == 0) {
  983.       Sleep(500);
  984.       warqprintf("sudo ls -1", 100);
  985.     }
  986.     else
  987.       printf("sudo ls -1");
  988.     for(int j = 0 ; j < 15; j++) {
  989.       CPos(j+2,3);
  990.       printf("%s", pliki[j]);
  991.     }
  992.    
  993.     int iter2 = 0;
  994.     CPos(17, 1);
  995.     for (int j = 0; j < i; j++) {
  996.       if (pliki[j][0]!='R') continue;
  997.       printf("%s", prompt);
  998.       printf("sudo less '%s'", pliki[j]);
  999.       iter2++;
  1000.       CPos(17+iter2, 1);
  1001.     }
  1002.     printf("%s", prompt);
  1003.     Sleep(500);
  1004.     if (iter == 4) {
  1005.       warqprintf("exit", 100);
  1006.       CPos(22, 1);
  1007.       printf("logout");
  1008.       CPos(23, 1);
  1009.       Sleep(2000);
  1010.       return;
  1011.     }
  1012.     else {
  1013.       warqprintf("sudo less '", 100);
  1014.       warqprintf(pliki[i], 100);
  1015.       printf("'");
  1016.     }
  1017.     Sleep(500);
  1018.     buffersink();
  1019.     if (iter==0)
  1020.       Raport_11_21_312_1232_txt();
  1021.     if (iter==1)
  1022.       Raport_11_22_312_1232_txt();
  1023.     if (iter==2)
  1024.       Raport_11_23_312_1232_txt();
  1025.     if (iter==3)
  1026.       Raport_11_24_312_1232_txt();
  1027.     buffersink();
  1028.     _getch();
  1029.     iter++;
  1030.   }
  1031. }
  1032. int zkimgadam(int xpoz,int ypoz) {
  1033.   if(xpoz <10)
  1034.   {
  1035.     if(ypoz > 5 && ypoz < 9) return 0;
  1036.     if(ypoz > 18 && ypoz < 22) return 1;
  1037.     if(ypoz > 31 && ypoz < 35) return 2;
  1038.     if(ypoz > 44 && ypoz < 48) return 3;
  1039.     if(ypoz > 57 && ypoz < 61) return 4;
  1040.   }
  1041.   else
  1042.   {
  1043.     if(ypoz > 5 && ypoz < 9) return 5;
  1044.     if(ypoz > 18 && ypoz < 22) return 6;
  1045.     if(ypoz > 31 && ypoz < 35) return 7;
  1046.     if(ypoz > 44 && ypoz < 48) return 8;
  1047.     if(ypoz > 57 && ypoz < 61) return 9;
  1048.   }
  1049.   return 0;
  1050. }
  1051. void deathscreen() {
  1052.   wholescr();
  1053.   setcolor(10);
  1054.   CPos(2,10); printf("            ###############          ");
  1055.   CPos(3,10); printf("          ###  #########  ###        ");
  1056.   CPos(4,10); printf("         ###    #######    ###       ");
  1057.   CPos(5,10); printf("          ###  #########  ###        ");
  1058.   CPos(6,10); printf("            ######   ######          ");
  1059.   CPos(7,10); printf("             #####   #####           ");
  1060.   CPos(8,10); printf("             #############           ");
  1061.   CPos(9,10); printf("              # # # # # #            ");
  1062.   CPos(10,10);printf("               #########             ");
  1063.   CPos(12,7);qprintf("Game over, synu. Przegrales. Jakze mi przykro!");
  1064.   CPos(13,7);qprintf("    DLC: respawn jedyne 4$, juz na steam.");
  1065.   buffersink();
  1066.   _getch();
  1067.   //    Sleep(2000);
  1068. }
  1069. void winscreen() {
  1070.   wholescr();
  1071.   setcolor(10);
  1072.   CPos(3,18); printf("   #              ###              #  ");
  1073.   CPos(4,18); printf("   #             ## ##             #  ");
  1074.   CPos(5,18); printf("   ##            ## ##            ##  ");
  1075.   CPos(6,18); printf("   ##         ### ### ###         ##  ");
  1076.   CPos(7,18); printf("   ###       ## ####### ##       ###  ");
  1077.   CPos(8,18); printf("   ###    #  ## ####### ##  #    ###  ");
  1078.   CPos(9,18); printf("   ####  ###  ### # # ###  ###  ####  ");
  1079.   CPos(10,18);printf("   #### ## ##     # #     ## ## ####  ");
  1080.   CPos(11,18);printf("   #################################  ");
  1081.   CPos(12,18);printf("   # .   . . . .---. --. . . .   . #  ");
  1082.   CPos(13,18);printf("   # |   | | | |   ' | | | | |   | #  ");
  1083.   CPos(14,18);printf("   # | | | '.' |  _  |-' '.' | | | #  ");
  1084.   CPos(15,18);printf("   # | | |  |  |   | | |  |  | | | #  ");
  1085.   CPos(16,18);printf("   #  -'-   '  '---' ' '  '   -'-  #  ");
  1086.   CPos(17,18);printf("   #################################  ");
  1087.   CPos(20,22);qprintf("Wygrales, synu. Moje gratulacje.");
  1088.   CPos(21,20);qprintf("Wiecej rozrywki znajdziesz w FTG2 :)");
  1089.   buffersink();
  1090.   _getch();
  1091.   #ifdef __WIN32
  1092.   system("start http://www.facebook.com/FasterThanGruz");
  1093.   #else
  1094.   system("xdg-open http://www.facebook.com/FasterThanGruz");
  1095.   #endif
  1096.   //    Sleep(2000);
  1097. }
  1098. void gadaj() {
  1099.   char key;
  1100.   int rozmowca = zkimgadam(xpoz, ypoz);
  1101.   wholescr();
  1102.   for(int i = 1 ; i < 24 ; i++)
  1103.   {
  1104.     CPos(i, 40);
  1105.     printf("%c", 219);
  1106.   }
  1107.   for(int i = 0 ; i < 15 ; i++)
  1108.   {
  1109.     CPos(i+1,1);
  1110.     printf("%s", stragan[i]);
  1111.   }
  1112.   CPos(14,1);
  1113.   printf("Witaj, synu. Nazywam sie:");
  1114.   CPos(15,1);
  1115.   if (imie[rozmowca][0]<specialnames)
  1116.     setcolor(11);
  1117.   printf("%s %s", imiona[imie[rozmowca][0]], nazwiska[imie[rozmowca][1]]);
  1118.   setcolor(7);
  1119.   CPos(16,1);
  1120.   printf("Sprzedaje: (%d)%s", blacktowar[rozmowca], towary[blacktowar[rozmowca]]);
  1121.   CPos(17,1);
  1122.   printf("1: Pokaz mi co sprzedajesz");
  1123.   CPos(18,1);
  1124.   printf("2: Powiedz mi cos o sobie");
  1125.   CPos(19,1);
  1126.   printf("3: Czy wiesz co sie dzieje na swiecie?");
  1127.   CPos(20,1);
  1128.   printf("4: (Sproboj zwerbowac do taboru)");
  1129.   CPos(21,1);
  1130.   printf("5: (Kradnij)");
  1131.   CPos(22,1);
  1132.   printf("6: Nie, dziekuje");
  1133.   CPos(23,1);
  1134.   printf("7: Ty glupi smieciu jestes glupi");
  1135.   for(;;)
  1136.   {
  1137.     for(;;) { key = _getch(); if(key  > '0' && key < '8') break; }
  1138.     for(int i = 0 ; i < 15; i ++)
  1139.     {
  1140.       CPos(i+1, 41);
  1141.       printf("                                      ");
  1142.     }
  1143.     if(key == '1') kupowanie(blacktowar[rozmowca]);
  1144.     if(key == '2') jestorniejestcyganem(rozmowca);
  1145.     if(key == '3') {
  1146.       CPos(1,41); qprintf("Jeszcze nie wiem XD"); //TODO
  1147.     }
  1148.     if(key == '4')
  1149.     {
  1150.       if(bylpytany[rozmowca] && lubienie[rozmowca] != 5)
  1151.       {
  1152.     CPos(1,41); qprintf("Mowilem zebys nie pytal dwa");
  1153.     CPos(2,41); qprintf("razy");
  1154.     setcolor(12);
  1155.     CPos(6,13); printf("\\  /");
  1156.     setcolor(7);
  1157.     lubienie[rozmowca]--;
  1158.       }
  1159.       else
  1160.       {if(cyganstwo[rozmowca] == 5)  lubienie[rozmowca] = 5;
  1161.     if(cyganstwo[rozmowca] == 4) { if(rand()%2 == 0)    lubienie[rozmowca] = 5; else bylpytany[rozmowca] = true;}
  1162.     if(cyganstwo[rozmowca] == 3)   bylpytany[rozmowca] = true;
  1163.     if(cyganstwo[rozmowca] == 2) { lubienie[rozmowca] = 0; if(rand()%2 == 0) zapiwniczenie+=7;  }
  1164.     if(cyganstwo[rozmowca] == 1) { if(rand()%2 == 0) zapiwniczenie += 7; else dead = true;}
  1165.     if(lubienie[rozmowca] == 5)
  1166.     {
  1167.       CPos(1,41);   qprintf("Bracie, jak tylko skoncze prace");
  1168.       CPos(2,41);   qprintf("dolacze do twojego taboru.");
  1169.       CPos(3,41);   qprintf("A teraz mozesz kupic wszystko");
  1170.       CPos(4,41);   qprintf("za 20% ceny");
  1171.       setcolor(10);
  1172.       CPos(6,13); printf("^  ^");
  1173.       setcolor(7);
  1174.     }
  1175.     if(bylpytany[rozmowca])
  1176.     {
  1177.       CPos(1,41); qprintf("Niestety nie, nawet nie proboj");
  1178.       CPos(2,41); qprintf("pytac ponownie, bo i tak sie");
  1179.       CPos(3,41); qprintf("nie zgodze");
  1180.     }
  1181.     if(zapiwniczenie > 1)
  1182.     {
  1183.       CPos(1,41); qprintf("Ty cyganski smieciu, bedziesz");
  1184.       CPos(2,41); qprintf("tydzien gnil w mojej piwnicy");
  1185.       CPos(3,41); qprintf("i modl sie zeby twoi cyganie");
  1186.       CPos(4,41); qprintf("zaplacili okup bo inaczej zginiesz");
  1187.      
  1188.     }
  1189.       }
  1190.       Sleep(2000);
  1191.       for(int i = 0 ; i < 15; i ++)
  1192.       {
  1193.     CPos(i+1, 41);
  1194.     printf("                                      ");
  1195.       }
  1196.      
  1197.      
  1198.     }
  1199.     if (key == '5') {
  1200.       CPos(1,41); qprintf("Masz za malo skilla na kradziez"); //TODO
  1201.     }
  1202.     if (key == '6') break;
  1203.     if (key == '7') {
  1204.       CPos(1,41); qprintf("Wyzywam cie na pojedynek.");
  1205.       CPos(2,41); qprintf("(Ktory zakodze! Soon(tm))"); //TODO
  1206.     }
  1207.     if(dead || zapiwniczenie > 0) break;
  1208.   }
  1209. }
  1210. void piwnica() {
  1211.   wholescr();
  1212.   CPos(1,1); qprintf("Sprzedawca: posiedzisz tu sobie, az zaplacisz!");
  1213.   CPos(2,1); printf("Sprzedawca chce %d hajsu", 5*hajsnarynek);
  1214.   CPos(3,1); warqprintf("........", 1000);
  1215.   CPos(4,1); printf("%d", zapiwniczenie);
  1216.   qprintf(" dni pozniej");
  1217.   CPos(5,1);
  1218.   hajs-=5*hajsnarynek;
  1219.   if (hajs>=0) {
  1220.     qprintf("Sprzedawca: jestes wolny, miales szczescie ze kocham zloto");
  1221.   }
  1222.   else {
  1223.     qprintf("Niestety musisz zginac! Jakze mi przykro, synu");
  1224.     dead=true;
  1225.   }
  1226.   Sleep(2000);
  1227.   zapiwniczenie=0;
  1228.   wholescr();
  1229.   printftabor();
  1230.   printfgielda();
  1231.   printfceny();
  1232. }
  1233. void generujmarket() {
  1234.   int cyganstwoszansa;
  1235.   for(int i = 0 ; i < 10; i++)
  1236.   {
  1237.     lubienie[i] = 4;
  1238.     blacktowar[i]= (rand()%13); // 12-i
  1239.     if (rand()%5 == 0)
  1240.       imie[i][0] = imie[i][1] = rand()%specialnames;
  1241.     else {
  1242.       imie[i][0] = (rand()%32)+specialnames;
  1243.       imie[i][1] = (rand()%20)+specialnames;
  1244.     }
  1245.     cyganstwoszansa = (50-rand()%100)+citygipsyness[citynum];
  1246.     cyganstwo[i] = (cyganstwoszansa+120)/40;
  1247.   }
  1248. }
  1249. void blackblack(int i, int j) {
  1250.   int rozmowca;
  1251.   CPos(i+1,j+1);
  1252.   if(market[i][j] == '1') printf("%c", 186);
  1253.   if(market[i][j] == '2') printf("%c", 205);
  1254.   if(market[i][j] == '3') printf("%c", 200);
  1255.   if(market[i][j] == '4') printf("%c", 201);
  1256.   if(market[i][j] == '5') printf("%c", 187);
  1257.   if(market[i][j] == '6') printf("%c", 188);
  1258.   if(market[i][j] == 't') printf("%c", 178);
  1259.   if(market[i][j] == 'l') printf("#");
  1260.   if(market[i][j] == 'b') printf("%c", 186);
  1261.   if(market[i][j] == 'd') printf("%c", 203);
  1262.   if(market[i][j] == 'k') printf("%c", 202);
  1263.   if(market[i][j] == ' ') printf(" ");
  1264.   setcolor(11);
  1265.   rozmowca=zkimgadam(i,j+1);
  1266.   if (lubienie[rozmowca]==5) setcolor(10);
  1267.   if (lubienie[rozmowca]<3) setcolor(12);
  1268.   if(market[i][j] == 'g') printf("%c", 1);
  1269.   if(market[i][j] == 'r') printf("/");
  1270.   if(market[i][j] == 'w') printf("\\");
  1271.   if(market[i][j] == 'h') printf("|");
  1272.   setcolor(7);
  1273. }
  1274. void printfmarket() {
  1275.   wholescr();
  1276.   for(int i = 0 ; i < 30 ; i ++)
  1277.     for(int j = 0 ; j < 70 ; j ++)
  1278.       blackblack(i, j);
  1279. }
  1280. void plecak() {
  1281.   wholescr();
  1282.   int i, j;
  1283.   CPos(1, 1);
  1284.   printf("Witaj w plecaku! Oto twoje itemki:");
  1285.   for(;;) {
  1286.     CPos(2, 1);
  1287.     printf("Masz przy sobie %d hajsu    ", hajsnarynek);
  1288.     itemki.push_back("wroc");
  1289.     i = lwsselect(3, 2, itemki.size(), itemki.begin());
  1290.     itemki.pop_back();
  1291.     if ((unsigned int)i == itemki.size())
  1292.       break;
  1293.     j = wsselect(3, 2, 3, "uzyj", "dropnij", "wroc");
  1294.     if (j == 2) continue;
  1295.     if (j == 1) {delete[] itemki[i];itemki.erase(itemki.begin()+i);continue;}
  1296.     if (startswith(itemki[i], "kosa")) {
  1297.       CPos(2, 40);
  1298.       qprintf("Uuuuaaazzzaaaaa! KOSA MI DROP\235A!!");
  1299.       Sleep(2000);
  1300.       CPos(2, 40);
  1301.       printf("                                 ");
  1302.     }
  1303.     if (startswith(itemki[i], "zio\210o")) {
  1304.       CPos(2, 40);
  1305.       qprintf("Smoke weed everyday, de-e-e-eeyyyyy");
  1306.       Sleep(2000);
  1307.       CPos(2, 40);
  1308.       printf("                                    ");
  1309.       setcolor(14);
  1310.       printfwindow(0, 0, 79, 24);
  1311.       setcolor(7);
  1312.     }
  1313.     if (startswith(itemki[i], "drugz")) {
  1314.       setcolor(10);
  1315.       printfwindow(0, 0, 79, 24);
  1316.       CPos(2, 40);
  1317.       warqprintf("HeraKoka#LSD ta zabawa po nocach", 50);
  1318.       CPos(3, 40);
  1319.       warqprintf("sie sni", 50);
  1320.       CPos(2, 40);
  1321.       warqprintf("                                ", 50);
  1322.       CPos(3, 40);
  1323.       warqprintf("       ", 50);
  1324.       setcolor(7);
  1325.     }
  1326.     if (startswith(itemki[i], "rower")) {
  1327.       CPos(2, 40);
  1328.       warqprintf("O, o, o, jprdl wyjb\210em sie", 50);
  1329.       Sleep(2000);
  1330.       dead = true;
  1331.     }
  1332.     if (startswith(itemki[i], "AKA47+")) {
  1333.       CPos(2, 40);
  1334.       warqprintf("O, jprdl strzeli\210em nie w te strone", 50);
  1335.       Sleep(2000);
  1336.       dead = true;
  1337.     }
  1338.     if (startswith(itemki[i], "alko")) {
  1339.       CPos(2, 40);
  1340.       qprintf("Ta gra nie promuje picia alkoholu");
  1341.       Sleep(2000);
  1342.     }
  1343.     if (startswith(itemki[i], "rolex")) {
  1344.       CPos(2, 40);
  1345.       time_t czas2 = time(NULL);
  1346.       tm* czas = localtime(&czas2);
  1347.       printf("Jest godzina %02d:%02d:%02d", czas->tm_hour, czas->tm_min, czas->tm_sec);
  1348.       Sleep(2000);
  1349.       CPos(2, 40);
  1350.       printf("                     ");
  1351.     }
  1352.     if (startswith(itemki[i], "tynk")) {
  1353.       CPos(2, 40);
  1354.       qprintf("O, cyganski koks... slaby");
  1355.       Sleep(2000);
  1356.       CPos(2, 40);
  1357.       printf("                         ");
  1358.     }
  1359.     if (startswith(itemki[i], "Minecraft")) {
  1360.       CPos(2, 40);
  1361.       qprintf("O q*.*wa, creeper!!!");
  1362.       CPos(3, 40);
  1363.       if (hajsnarynek--)
  1364.     qprintf("Zabral mi 1 hajs");
  1365.       else hajsnarynek++;
  1366.       Sleep(2000);
  1367.       CPos(2, 40);
  1368.       printf("                    ");
  1369.       CPos(3, 40);
  1370.       printf("                ");
  1371.     }
  1372.     if (startswith(itemki[i], "nokia")) {
  1373.       CPos(2, 40);
  1374.       qprintf("Zagra\210bym w snake'a ale bateria pad\210a");
  1375.       Sleep(2000);
  1376.       CPos(2, 40);
  1377.       printf("                                     ");
  1378.     }
  1379.     if (startswith(itemki[i], "UwarzamIrz")) {
  1380.       CPos(2, 40);
  1381.       qprintf("A co to za herezje?!");
  1382.       Sleep(2000);
  1383.       CPos(2, 40);
  1384.       printf("                    ");
  1385.     }
  1386.     if (startswith(itemki[i], "legitymacja")) {
  1387.       CPos(2, 40);
  1388.       qprintf("Wytne z niej falszywke...");
  1389.       Sleep(2000);
  1390.       hajsnarynek += 1 << rand()%4;
  1391.       CPos(2, 40);
  1392.       printf("                         ");
  1393.     }
  1394.     if (dead) return;
  1395.     dodajdoitemu(i, -1);
  1396.   }
  1397. }
  1398. void blackmarket() {
  1399.   int i;
  1400.   blackmarketintro();
  1401.   wholescr();
  1402.   if (hajs<blackoplata) {
  1403.     CPos(10, 15);
  1404.     printf("Masz mniej hajsu niz kosztuje wejscie na rynek (%d)", blackoplata);
  1405.     Sleep(5000);
  1406.     wholescr();
  1407.     printftabor();
  1408.     printfgielda();
  1409.     printfceny();
  1410.     return;
  1411.   }
  1412.   CPos(1, 1);
  1413.   printf("Ile cygocoinow chcesz zabrac? Oplata za wejscie wynosi %d", blackoplata);
  1414.   CPos(2, 1);
  1415.   printf("Mozesz zabrac do 999999999 cygocoinow, ale nie wiecej niz sam posiadasz");
  1416.   CPos(3, 1);
  1417.   printf("Potwierdz swoj wybor wciskajac e, jezeli chcesz usunac liczbe wcisnij q");
  1418.   CPos(4, 5);
  1419.   printf("%c%c%c%c%c%c%c%c%c%c%c", 201, 205, 205, 205, 205, 205, 205, 205, 205, 205, 187);
  1420.   CPos(5, 5);
  1421.   printf("%c0        %c", 186, 186);
  1422.   CPos(6, 5);
  1423.   printf("%c%c%c%c%c%c%c%c%c%c%c", 200, 205, 205, 205, 205, 205, 205, 205, 205, 205, 188);
  1424.   CPos(5, 6);
  1425.   char wyborhajsu[10];
  1426.   for (i = 0; i < 10; i++)
  1427.     wyborhajsu[i] = '0';
  1428.   char hajsytmp;
  1429.   int dlg = 0;
  1430.   i = 0;
  1431.   while (true) {
  1432.     for (; i < 9; i++) {
  1433.       for (;;) {
  1434.     hajsytmp = _getch();
  1435.     if ((hajsytmp > '0' && hajsytmp <= '9') || (i && hajsytmp == '0')) {
  1436.       wyborhajsu[i] = hajsytmp;
  1437.       dlg++;
  1438.       printf("%c", hajsytmp);
  1439.       break;
  1440.     }
  1441.     if (hajsytmp == 'q' && i > 0) {
  1442.       wyborhajsu[i--] = '0';
  1443.       CPos(5, 6 + i);
  1444.       printf("%c",i?' ':'0');
  1445.       CPos(5, 6 + i);
  1446.       dlg--;
  1447.     }
  1448.     if (hajsytmp == 'e') break;
  1449.     CPos(5, 6 + i);
  1450.       }
  1451.       if (hajsytmp == 'e') break;
  1452.     }
  1453.     hajsnarynek = 0;
  1454.     for (int k = 0; k < dlg; k++) {
  1455.       hajsnarynek *= 10;
  1456.       hajsnarynek += wyborhajsu[k] - '0';
  1457.     }
  1458.     if (hajsnarynek > hajs) hajsnarynek = hajs;
  1459.     if (hajsnarynek<blackoplata) {
  1460.       CPos(8,5);
  1461.       printf("Musisz wziac przynajmniej %d CK", blackoplata);
  1462.     }
  1463.     else break;
  1464.   }
  1465.   hajs -= hajsnarynek;
  1466.   hajsnarynek -= blackoplata;
  1467.   wholescr();
  1468.   CPos(10, 10);
  1469.   printf("Wchodzisz na czarny rynek, zabierasz ze soba %d cygocoinow", hajsnarynek);
  1470.   Sleep(2000);
  1471.  
  1472.   printfmarket();
  1473.  
  1474.   xpoz = 10;
  1475.   ypoz = 5;
  1476.   char keymove;
  1477.   for(;;)
  1478.   {
  1479.     keymove = _getch();
  1480.     if(keymove == 'w' && (market[xpoz-3][ypoz-1] == ' ' || market[xpoz-3][ypoz-1]=='t') && (market[xpoz-3][ypoz-2] == ' ' || market[xpoz-3][ypoz-2]=='t') && (market[xpoz-3][ypoz] == ' ' || market[xpoz-3][ypoz]=='t' ))
  1481.       xpoz--;
  1482.     if(keymove == 's' && (market[xpoz+1][ypoz-2] == ' ' || market[xpoz+1][ypoz-2]=='t') && (market[xpoz+1][ypoz-1] == ' ' || market[xpoz+1][ypoz-1]=='t') && (market[xpoz+1][ypoz] == ' ' || market[xpoz+1][ypoz]=='t'))
  1483.       xpoz++;
  1484.     if(keymove == 'a' && (market[xpoz-1][ypoz-3] == ' ' || market[xpoz-1][ypoz-3]=='t') && (market[xpoz-2][ypoz-3] == ' ' || market[xpoz-2][ypoz-3]=='t') && (market[xpoz][ypoz-3] == ' ' || market[xpoz][ypoz-3]=='t') )
  1485.       ypoz--;
  1486.     if(keymove == 'd' && (market[xpoz-1][ypoz+1] == ' ' || market[xpoz-1][ypoz+1]=='t') && (market[xpoz-2][ypoz+1] == ' ' || market[xpoz-2][ypoz+1]=='t') && (market[xpoz][ypoz+1] == ' ' || market[xpoz][ypoz+1]=='t'))
  1487.       ypoz++;
  1488.     if(ypoz == 2)
  1489.       break;
  1490.     if(keymove == 'e')
  1491.     {
  1492.       if((market[xpoz-5][ypoz-1] ==  'r' || market[xpoz-5][ypoz-1] ==  'h' || market[xpoz-5][ypoz-1] ==  'w') || (market[xpoz+4][ypoz-1] ==  'r' || market[xpoz+4][ypoz-1] ==  'h' || market[xpoz+4][ypoz-1] ==  'w'))
  1493.       {
  1494.     gadaj();
  1495.     if(dead || zapiwniczenie > 0) break;
  1496.     printfmarket();
  1497.    
  1498.       }
  1499.      
  1500.     }
  1501.     if(keymove == 'q')
  1502.     {
  1503.       plecak();
  1504.       if (dead) break;
  1505.       printfmarket();
  1506.     }
  1507.    
  1508.     int k , l;
  1509.     for(int i = 0 ; i < 5; i++)
  1510.       for(int j = 0 ; j < 5; j++)
  1511.       {
  1512.     l = xpoz-2;
  1513.     k = ypoz-2;
  1514.     k = k+i;
  1515.     l = l+j;
  1516.     blackblack(l-1, k-1);
  1517.    
  1518.       }
  1519.      
  1520.       for(int i = 0 ; i < 3; i++)
  1521.     for(int j = 0 ; j < 3; j++)
  1522.     {
  1523.       l = xpoz-1;
  1524.       k = ypoz-1;
  1525.       k = k+i;
  1526.       l = l+j;
  1527.       CPos(l,k);
  1528.       if(cygan[j][i] == 't')
  1529.         printf("%c", 1);
  1530.      
  1531.       else
  1532.         printf("%c", cygan[j][i]);
  1533.     }
  1534.     CPos(0,0);
  1535.     //      CPos(30, 5); printf("pos=X%d, Y%d",xpoz,ypoz);
  1536.   }
  1537.  
  1538.   if(ypoz == 2)
  1539.     hajs += hajsnarynek;
  1540.   if(ypoz == 2 || dead || zapiwniczenie > 0)
  1541.   {
  1542.     wholescr();
  1543.     printftabor();
  1544.     printfgielda();
  1545.     printfceny();
  1546.   }
  1547. }
  1548. void clearwindow(int q, int b, int c, int d) {
  1549.   for (int j = b + 1; j < d; j++)
  1550.     for (int i = q + 1; i < c - 1; i++) {
  1551.       CPos(j, i);
  1552.       printf(" ");
  1553.     }
  1554. }
  1555. void bhpres() {
  1556.   CPos(10, 2);
  1557.   printf("%s", bhp[bhplvl - 1]);
  1558.   CPos(11, 2);
  1559.   printf("Cena w gruzie %d", bhpp[bhplvl - 1]);
  1560.   CPos(12, 2);
  1561.   printf("Czas w cyganoroboczodniach %d", bhpd[bhplvl - 1]);
  1562.   CPos(13, 2);
  1563.   printf("Efekt:");
  1564.   printf("%s", bhpe[bhplvl - 1]);
  1565.   CPos(14, 2);
  1566.   printf("r - zeby zaczac odkrywac, w - wyjdz");
  1567.   for (;;) {
  1568.     tmpsel = _getch();
  1569.     if (tmpsel == 'w') {
  1570.       CPos(4, 2);
  1571.       printf("                                                         ");
  1572.       CPos(5, 2);
  1573.       printf("                                                         ");
  1574.       CPos(6, 2);
  1575.       printf("                                                         ");
  1576.       CPos(7, 2);
  1577.       printf("                                      ");
  1578.       CPos(8, 2);
  1579.       printf("                                       ");
  1580.       CPos(9, 2);
  1581.       printf("                                       ");
  1582.       CPos(10, 2);
  1583.       printf("                                      ");
  1584.       CPos(11, 2);
  1585.       printf("                                      ");
  1586.       CPos(12, 2);
  1587.       printf("                                      ");
  1588.       CPos(13, 2);
  1589.       printf("                                      ");
  1590.       CPos(14, 2);
  1591.       printf("                                      ");
  1592.       break;
  1593.     }
  1594.     if (tmpsel == 'r') {if (bhpp[bhplvl - 1] < gruz) {
  1595.       rschtask = 2;
  1596.       gruz = gruz - bhpp[bhplvl - 1];
  1597.       labwork = true;
  1598.       labtime = bhpd[bhplvl - 1];
  1599.       for (int i = 0; i < 25; i++)
  1600.     currsch[i] = bhp[bhplvl - 1][i];
  1601.       CPos(4, 2);
  1602.       printf("                                                        ");
  1603.       CPos(5, 2);
  1604.       printf("                                                        ");
  1605.       CPos(6, 2);
  1606.       printf("                                                        ");
  1607.       CPos(7, 2);
  1608.       printf("                                       ");
  1609.       CPos(8, 2);
  1610.       printf("                                       ");
  1611.       CPos(9, 2);
  1612.       printf("                                       ");
  1613.       CPos(10, 2);
  1614.       printf("                                      ");
  1615.       CPos(11, 2);
  1616.       printf("                                      ");
  1617.       CPos(12, 2);
  1618.       printf("                                      ");
  1619.       CPos(13, 2);
  1620.       printf("                                      ");
  1621.       CPos(14, 2);
  1622.       printf("                                      ");
  1623.       break;
  1624.     } else {
  1625.       CPos(15, 2);
  1626.       printf("Sorry nie masz tyle gruzu, nacisnij dow. przycisk zeby kontynuowac");
  1627.       buffersink();
  1628.       _getch();
  1629.       CPos(4, 2);
  1630.       printf("                                                            ");
  1631.       CPos(5, 2);
  1632.       printf("                                                            ");
  1633.       CPos(6, 2);
  1634.       printf("                                                            ");
  1635.       CPos(7, 2);
  1636.       printf("                                      ");
  1637.       CPos(8, 2);
  1638.       printf("                                       ");
  1639.       CPos(9, 2);
  1640.       printf("                                       ");
  1641.       CPos(10, 2);
  1642.       printf("                                      ");
  1643.       CPos(11, 2);
  1644.       printf("                                      ");
  1645.       CPos(12, 2);
  1646.       printf("                                      ");
  1647.       CPos(13, 2);
  1648.       printf("                                      ");
  1649.       CPos(14, 2);
  1650.       printf("                                      ");
  1651.       CPos(15, 2);
  1652.       printf("                                      ");
  1653.     }}
  1654.   }
  1655. }
  1656. void settings() {
  1657.  
  1658.   if (gipsynews == true) {
  1659.     CPos(14, 70);
  1660.     printf("T");
  1661.   } else {
  1662.     CPos(14, 70);
  1663.     printf("F");
  1664.   }
  1665.  
  1666.   CPos(12, 60);
  1667.   printf("^w vs e-zmien");
  1668.   CPos(13, 60);
  1669.   printf("Ustawieia");
  1670.   CPos(14, 60);
  1671.   printf("Gipsynews");
  1672.   CPos(15, 60);    printf("Wyjdz");
  1673.   for (;;) {
  1674.     CPos(0,0);
  1675.     Sleep(1);
  1676.     if (_kbhit()) {
  1677.       selset = _getch();
  1678.       if (selset == 'w' && setpoz != 0) setpoz--;
  1679.       if (selset == 's' && setpoz < 1) setpoz++;
  1680.       if (selset == 'e' && setpoz == 1) {
  1681.     CPos(12, 59);
  1682.     printf("               ");
  1683.     CPos(13, 59);
  1684.     printf("          ");
  1685.     CPos(14, 59);
  1686.     printf("            ");
  1687.     CPos(15, 59);
  1688.     printf("      ");
  1689.     break;
  1690.       }
  1691.       if (selset == 'e' && setpoz == 0) {
  1692.     gipsynews = !gipsynews;
  1693.     if (gipsynews == true) {
  1694.       CPos(14, 70);
  1695.       printf("T");
  1696.       CPos(14, 71);
  1697.       printf("  ");
  1698.     } else {
  1699.       CPos(14, 70);
  1700.       printf("F");
  1701.       CPos(14, 71);
  1702.       printf("  ");
  1703.     }
  1704.       }
  1705.     }
  1706.    
  1707.     if (setpozold != setpoz) {
  1708.       setpozold = setpoz;
  1709.       CPos(setpoz + 13, 59);
  1710.       printf(" ");
  1711.       CPos(setpoz + 14, 59);
  1712.       printf(">");
  1713.       CPos(setpoz + 15, 59);
  1714.       printf(" ");
  1715.     }
  1716.   }
  1717. }
  1718. void findcitycord() {
  1719.   CPos(1, 1);
  1720.   for (int i = 0; i < 13; i++)
  1721.     for (int j = 0; j < 35; j++)
  1722.      
  1723.       if ((citymap[i][j] == '-') || (citymap[i][j] == '\\') || (citymap[i][j] == '/') || (citymap[i][j] == ' ') || (citymap[i][j] == 0));
  1724.       else {
  1725.     citypoz[0][marker] = i;
  1726.     citypoz[1][marker] = j;
  1727.     //  printf("numer %d nazwa %c x %d y %d\n",marker,citymap[i][j], i , j);
  1728.     marker++;
  1729.       }
  1730. }
  1731. void citygen() {
  1732.   bool flag;
  1733.   for (int i = 0; i < 24; i++)
  1734.   {
  1735.     flag = true;
  1736.     while (flag) {
  1737.       nazwymiast[i] = rand() % 45;
  1738.       flag = false;
  1739.       for (int j = 0; j < i; j++)
  1740.     if (nazwymiast[i] == nazwymiast[j]) {
  1741.       flag = true;
  1742.       break;
  1743.     }
  1744.     }
  1745.     citytype[i] = rand() % 2;
  1746.     citygipsyness[i] = 50-(rand()%100);
  1747.   }
  1748.   citytype[rand() % 25] = 2;
  1749.  
  1750. }
  1751. void ai1set() {
  1752.   int i;
  1753.   //BEGIN strategia 'izi gejm izi lajf'
  1754.   //     enemytabortgt[0] = 1;
  1755.   //     enemytabortgt[1] = 2;
  1756.   //     enemytabortgt[2] = 3;
  1757.   //     enemytabortgt[3] = 4;
  1758.   //END
  1759.   //BEGIN strategia 'focus fire po kolei'
  1760.   //     if (taborallyhp[0] > 0)
  1761.   //       enemytabortgt[0] = 1;
  1762.   //     else if (taborallyhp[1] > 0)
  1763.   //       enemytabortgt[0] = 2;
  1764.   //     else if (taborallyhp[1] > 0)
  1765.   //       enemytabortgt[0] = 3;
  1766.   //     else
  1767.   //       enemytabortgt[0] = 4;
  1768.   //     enemytabortgt[3] = enemytabortgt[2] = enemytabortgt[1] = enemytabortgt[0];
  1769.   //END
  1770.   //BEGIN strategia 'focus slabego'
  1771.   //     int minhp = 500;
  1772.   //     int minidx = 0;
  1773.   //     for (i=0; i<4; i++) {
  1774.   //       if (taborallyhp[i]<minhp && taborallyhp[i]>0) {
  1775.   //    minidx = i;
  1776.   //    minhp = taborallyhp[i];
  1777.   //       }
  1778.   //     }
  1779.   //     enemytabortgt[0] = minidx + 1;
  1780.   //     enemytabortgt[3] = enemytabortgt[2] = enemytabortgt[1] = enemytabortgt[0];
  1781.   //END
  1782.   //BEGIN strategia 'focus dobrego'
  1783.   int minhp = taborallyhp[0];
  1784.   int minidx = 0;
  1785.   for (i=0; i<4; i++) {
  1786.     if (taborallyhp[i]>minhp) {
  1787.       minidx = i;
  1788.       minhp = taborallyhp[i];
  1789.     }
  1790.   }
  1791.   enemytabortgt[0] = minidx + 1;
  1792.   enemytabortgt[3] = enemytabortgt[2] = enemytabortgt[1] = enemytabortgt[0];
  1793.   //END
  1794. }
  1795. void enemyexecution() {
  1796.   if (stunuzyty) {
  1797.     CPos(4, 50);
  1798.     printf("(stunned)");
  1799.     Sleep(1000);
  1800.     CPos(4, 50);
  1801.     printf("         ");
  1802.     return;
  1803.   }
  1804.   for (int i = 0; i < 4; i++) {
  1805.     x = 14;
  1806.     y = (i * 5) + 5;
  1807.     if (taborenemyhp[i] > 0 && enemytabortgt[i] > 0 && taborallyhp[enemytabortgt[i] - 1] > 0) {
  1808.       damage = rand() % 100;
  1809.       if (damage > 0) {
  1810.     if ((i + 1) - enemytabortgt[i] == 0) iteracja = 0;
  1811.     if ((i + 1) - enemytabortgt[i] == -1) iteracja = 5;
  1812.     if ((i + 1) - enemytabortgt[i] == -2) iteracja = 10;
  1813.     if ((i + 1) - enemytabortgt[i] == -3) iteracja = 15;
  1814.     if ((i + 1) - enemytabortgt[i] == 1) iteracja = -5;
  1815.     if ((i + 1) - enemytabortgt[i] == 2) iteracja = -10;
  1816.     if ((i + 1) - enemytabortgt[i] == 3) iteracja = -15;
  1817.    
  1818.     for (int k = 0; k < 46; k++) {
  1819.       if (k == 1) {
  1820.         CPos(i * 5 + 6, 62);
  1821.         printf("%c", 219);
  1822.         CPos(i * 5 + 4, 62);
  1823.         printf("%c", 219);
  1824.         CPos(i * 5 + 5, 62);
  1825.         printf("%c", 219);
  1826.       }
  1827.      
  1828.       y = (i * 5) + 5 + k * (iteracja / czterdziesciszesc);
  1829.       x++;
  1830.       hhh = 76 - x;
  1831.       CPos(y, hhh);
  1832.       printf("#");
  1833.       CPos(y - 1, hhh - 1);
  1834.       printf(" ");
  1835.       CPos(y, hhh + 1);
  1836.       printf(" ");
  1837.       CPos(y + 1, hhh + 1);
  1838.       printf(" ");
  1839.       Sleep(5);
  1840.     }
  1841.     CPos(y, hhh);
  1842.     printf(" ");
  1843.    
  1844.     CPos((i * 5) + 5 + iteracja, 60);
  1845.     printf(" ");
  1846.    
  1847.     taborallyhp[enemytabortgt[i] - 1] = max(taborallyhp[enemytabortgt[i] - 1] - 20, 0);
  1848.     CPos((enemytabortgt[i] * 5) - 1, 63);
  1849.     //  printf("HP %-8d", max(enemytabortgt[tabortgt[i]-1],0));
  1850.    
  1851.       } else {
  1852.     miss = rand() % 2;
  1853.     if (miss == 0) {
  1854.       if ((i + 1) - enemytabortgt[i] == 0) iteracja = 3;
  1855.       if ((i + 1) - enemytabortgt[i] == -1) iteracja = 8;
  1856.       if ((i + 1) - enemytabortgt[i] == -2) iteracja = 13;
  1857.       if ((i + 1) - enemytabortgt[i] == -3) iteracja = 18;
  1858.       if ((i + 1) - enemytabortgt[i] == 1) iteracja = -8;
  1859.       if ((i + 1) - enemytabortgt[i] == 2) iteracja = -13;
  1860.       if ((i + 1) - enemytabortgt[i] == 3) iteracja = -18;
  1861.     } else {
  1862.       if ((i + 1) - enemytabortgt[i] == 0) iteracja = -2;
  1863.       if ((i + 1) - enemytabortgt[i] == -1) iteracja = 3;
  1864.       if ((i + 1) - enemytabortgt[i] == -2) iteracja = 8;
  1865.       if ((i + 1) - enemytabortgt[i] == -3) iteracja = 13;
  1866.       if ((i + 1) - enemytabortgt[i] == 1) iteracja = -3;
  1867.       if ((i + 1) - enemytabortgt[i] == 2) iteracja = -8;
  1868.       if ((i + 1) - enemytabortgt[i] == 3) iteracja = -13;
  1869.     }
  1870.    
  1871.     for (int k = 0; k < 46; k++) {
  1872.       if (k == 1) {
  1873.         CPos(i * 5 + 6, 62);
  1874.         printf("%c", 219);
  1875.         CPos(i * 5 + 4, 62);
  1876.         printf("%c", 219);
  1877.         CPos(i * 5 + 5, 62);
  1878.         printf("%c", 219);
  1879.       }
  1880.      
  1881.       y = (i * 5) + 5 + k * (iteracja / czterdziesciszesc);
  1882.       x++;
  1883.       hhh = 76 - x;
  1884.       CPos(y, hhh);
  1885.       printf("#");
  1886.       CPos(y - 1, hhh + 1);
  1887.       printf(" ");
  1888.       CPos(y, hhh + 1);
  1889.       printf(" ");
  1890.       CPos(y + 1, hhh + 1);
  1891.       printf(" ");
  1892.       Sleep(5);
  1893.     }
  1894.     CPos(y, hhh);
  1895.     printf(" ");
  1896.    
  1897.     for (int w = 0; w < 15; w++) {
  1898.       CPos(((i * 5) + 4 + iteracja), 15 - w);
  1899.       printf("#");
  1900.       CPos(((i * 5) + 4 + iteracja), 16 - w);
  1901.       printf(" ");
  1902.       Sleep(5);
  1903.       printf(" ");
  1904.     }
  1905.     CPos(((i * 5) + 4 + iteracja), 1);
  1906.     printf(" ");
  1907.    
  1908.     CPos(((i * 5) + 4 + iteracja), 78);
  1909.     printf(" ");
  1910.     CPos((i * 5) + 5 + iteracja, 60);
  1911.     printf(" ");
  1912.       }
  1913.     }
  1914.   }
  1915. }
  1916. int ftg() {
  1917.   wholescr();
  1918.   for (int i = 0; i < 25; i++)
  1919.     if (currcity == polaczenia[0][i]) citynum = i;
  1920.     for (int i = 0; i < 14; i++)
  1921.       for (int j = 0; j < 35; j++) {
  1922.     done = false;
  1923.     CPos(i + 8, j + 1);
  1924.     printf("%c", citymap[i][j]);
  1925.       }
  1926.      
  1927.      
  1928.       for (int i = 0; i < 24; i++) {
  1929.     CPos(citypoz[0][i] + 8, citypoz[1][i] + 1);
  1930.     if (citytype[i] == 0) setcolor(160);
  1931.     if (citytype[i] == 1) setcolor(144);
  1932.     if (citytype[i] == 2) setcolor(192);
  1933.     printf("%c", polaczenia[0][i]);
  1934.    
  1935.       }
  1936.       setcolor(7);
  1937.       CPos(1, 1);
  1938.       printf("Znajdujesz sie w miescie (%c)%s", currcity, miasta[nazwymiast[citynum]]);
  1939.       CPos(citypoz[0][citynum] + 8, citypoz[1][citynum] + 1);
  1940.       printf("%c", 175);
  1941.       CPos(4, 35);
  1942.       printf("oznaczenia miast");
  1943.       setcolor(160);
  1944.       printf(" Wies ");
  1945.       setcolor(144);
  1946.       printf(" Miasteczko ");
  1947.       setcolor(192);
  1948.       printf(" Stolica ");
  1949.       setcolor(7);
  1950.       CPos(2, 1);
  1951.       printf("mozesz pojechac do ");
  1952.       for (int i = 0; i < 6; i++) {
  1953.     if (polaczenia[citynum + 1][i] == 'z') break;
  1954.     drogi = i + 1;
  1955.     printf("%c  ", polaczenia[citynum + 1][i]);
  1956.       }
  1957.      
  1958.       if (currcity == 'f') {
  1959.     printf("KS ");
  1960.     drogi++;
  1961.       }
  1962.       printf("Wroc");
  1963.       for (;;) {
  1964.     CPos(0,0);
  1965.     Sleep(1);
  1966.     if (_kbhit()) {
  1967.       tmp = _getch();
  1968.       if (tmp == 'a' && ftgpoz > 0) ftgpoz--;
  1969.       if (tmp == 'd' && ftgpoz < drogi) ftgpoz++;
  1970.       if (tmp == 'e') {
  1971.         if (currcity == 'f' && ftgpoz == drogi - 1) {
  1972.           return 2;
  1973.         } else {
  1974.           if (ftgpoz == drogi) {
  1975.         return 1;
  1976.           } else {
  1977.         currcity = polaczenia[citynum + 1][ftgpoz];
  1978.         for (int i = 0; i < 25; i++)
  1979.           if (currcity == polaczenia[0][i]) citynum = i;
  1980.           return 0;
  1981.           }
  1982.         }
  1983.       }
  1984.       CPos(3, (ftgpoz * 3) + 17);
  1985.       printf("   ^   ");
  1986.     }
  1987.       }
  1988. }
  1989. void bossfight() {
  1990.   int xpos = 20, ypos = 10, i, j;
  1991.   //   int dropx = -1, dropy = -1;
  1992.   int spadax = 1, spaday = 1;
  1993.   bool lewedead = false, prawedead = false;
  1994.   wholescr();
  1995.   CPos(3,3);
  1996.   qprintf("bossfight::start();"); //TODO
  1997.   Sleep(2000);
  1998.   for (;;) {
  1999.     if (_kbhit()) {
  2000.       switch (_getch()) {
  2001.     case 'w':
  2002.       xpos--;
  2003.       break;
  2004.     case 's':
  2005.       xpos++;
  2006.       break;
  2007.     case 'a':
  2008.       ypos--;
  2009.       break;
  2010.     case 'd':
  2011.       ypos++;
  2012.       break;
  2013.       //    case 'e':
  2014.       //      dropx = xpos + 1;
  2015.       //      dropy = ypos + 1;
  2016.       //      break;
  2017.     default:
  2018.       break;
  2019.       }
  2020.     }
  2021.     if (xpos <= 0) xpos = 1;
  2022.     if (xpos >= 22) xpos = 21;
  2023.     if (ypos <= 0) ypos = 1;
  2024.     if (ypos >= 77) ypos = 76;
  2025.     wholescr();
  2026.     setcolor(10);
  2027.     CPos(1, 1);
  2028.     printf("      ##################                   ");
  2029.     CPos(2, 1);
  2030.     printf("    #######################                ");
  2031.     CPos(3, 1);
  2032.     printf("   ####       ##############               ");
  2033.     CPos(4, 1);
  2034.     printf("   #####################################   ");
  2035.     CPos(5, 1);
  2036.     printf("   :::::::::::::::::::::::::               ");
  2037.     CPos(6, 1);
  2038.     printf("   :(o)::::::(o):::____:::::               ");
  2039.     CPos(7, 1);
  2040.     printf("   :::::::/ ::::::(    )::::               ");
  2041.     CPos(8, 1);
  2042.     printf("   ::::::/  :::::::|()/:::::               ");
  2043.     CPos(9, 1);
  2044.     printf("   :::::(____::::::| /::::::               ");
  2045.     CPos(10, 1);
  2046.     printf("   ::::::::::::::::(_)::::::               ");
  2047.     CPos(11, 1);
  2048.     printf("   ::[_________]::::::::::::               ");
  2049.     CPos(12, 1);
  2050.     printf("    :[         ]:::::::::::                ");
  2051.     CPos(13, 1);
  2052.     printf("     :::::::::::::::::::::                 ");
  2053.     CPos(14, 1);
  2054.     printf("       :::::::::::::::::                   ");
  2055.     CPos(15, 1);
  2056.     printf("           ::::::::::                      ");
  2057.     CPos(16, 1);
  2058.     printf("           ::::::::::                      ");
  2059.     CPos(17, 1);
  2060.     printf("           ::::::::::                      ");
  2061.    
  2062.     spadax++;
  2063.     if (spadax >= 24) {
  2064.       spadax = 1;
  2065.       spaday = ypos + rand()%3;
  2066.     }
  2067.     if ((spadax == xpos && spaday == ypos+1) || (spadax == xpos+1 && abs(spaday - (ypos+1))<2))
  2068.       break;
  2069.     if (spadax == 6) {
  2070.       if (spaday == 6 && !lewedead) {
  2071.     lewedead = true;
  2072.     spadax = 1;
  2073.     spaday = ypos + rand()%3;
  2074.       }
  2075.       if (spaday == 15 && !prawedead) {
  2076.     prawedead = true;
  2077.     spadax = 1;
  2078.     spaday = ypos + rand()%3;
  2079.       }
  2080.     }
  2081.    
  2082.     CPos(6, 6);
  2083.     if (lewedead)
  2084.       printf("x");
  2085.     CPos(6, 15);
  2086.     if (prawedead)
  2087.       printf("x");
  2088.    
  2089.     setcolor(11);
  2090.     for (i=0; i<3; i++)
  2091.       for (j=0; j<3; j++) {
  2092.     CPos(xpos+i, ypos+j);
  2093.     if (cygan[i][j] == 't')
  2094.       printf("%c", 1);
  2095.     else if (cygan[i][j] != ' ')
  2096.       printf("%c", cygan[i][j]);
  2097.       }
  2098.       setcolor(12);
  2099.     //     if (dropx > 0 && dropy > 0 && dropx < 24 && dropy < 79) {
  2100.     //       dropx+=rand()%3-1;
  2101.     //       dropy+=rand()%3-1;
  2102.     //       CPos(dropx, dropy);
  2103.     //       printf("%c", 15);
  2104.     //     }
  2105.     CPos(spadax, spaday);
  2106.     if (!(lewedead && prawedead))
  2107.       printf("%c", 15);
  2108.     setcolor(7);
  2109.     CPos(0,0);
  2110.     if (lewedead && prawedead) break;
  2111.     buffersink();
  2112.     Sleep(100);
  2113.   }
  2114.   Sleep(1000);
  2115.   for (spadax = 0; spadax<76; spadax++) {
  2116.     if ((spadax&15) == 0) continue;
  2117.     setcolor(spadax&15);
  2118.     for (i=0; i<3; i++)
  2119.       for (j=0; j<3; j++) {
  2120.     CPos(xpos+i, ypos+j);
  2121.     if (cygan[i][j] == 't')
  2122.       printf("%c", 1);
  2123.     else if (cygan[i][j] != ' ')
  2124.       printf("%c", cygan[i][j]);
  2125.       }
  2126.       Sleep(100);
  2127.   }
  2128.   Sleep(1000);
  2129.   if (lewedead && prawedead)
  2130.     win = true;
  2131.   else
  2132.     dead = true;
  2133.   buffersink();
  2134. }
  2135. void allyexecution() {
  2136.   for (int i = 0; i < 4; i++) {
  2137.     x = 14;
  2138.     y = (i * 5) + 5;
  2139.     if (tabortgt[i] > 0 && taborenemyhp[tabortgt[i] - 1] > 0) {
  2140.       damage = rand() % 100;
  2141.       if (damage > 50) {
  2142.     if ((i + 1) - tabortgt[i] == 0) iteracja = 0;
  2143.     if ((i + 1) - tabortgt[i] == -1) iteracja = 5;
  2144.     if ((i + 1) - tabortgt[i] == -2) iteracja = 10;
  2145.     if ((i + 1) - tabortgt[i] == -3) iteracja = 15;
  2146.     if ((i + 1) - tabortgt[i] == 1) iteracja = -5;
  2147.     if ((i + 1) - tabortgt[i] == 2) iteracja = -10;
  2148.     if ((i + 1) - tabortgt[i] == 3) iteracja = -15;
  2149.    
  2150.     for (int k = 0; k < 46; k++) {
  2151.       if (k == 1) {
  2152.         CPos(i * 5 + 6, 14);
  2153.         printf("%c", 219);
  2154.         CPos(i * 5 + 4, 14);
  2155.         printf("%c", 219);
  2156.         CPos(i * 5 + 5, 14);
  2157.         printf("%c", 219);
  2158.       }
  2159.      
  2160.       y = (i * 5) + 5 + k * (iteracja / czterdziesciszesc);
  2161.       x++;
  2162.       CPos(y, x);
  2163.       printf("#");
  2164.       CPos(y - 1, x - 1);
  2165.       printf(" ");
  2166.       CPos(y, x - 1);
  2167.       printf(" ");
  2168.       CPos(y + 1, x - 1);
  2169.       printf(" ");
  2170.       Sleep(5);
  2171.     }
  2172.     printf(" ");
  2173.    
  2174.     CPos((i * 5) + 5 + iteracja, 60);
  2175.     printf(" ");
  2176.    
  2177.     taborenemyhp[tabortgt[i] - 1] = max(taborenemyhp[tabortgt[i] - 1] - 20, 0);
  2178.     CPos((tabortgt[i] * 5) - 1, 63);
  2179.     printf("HP %-8d", max(taborenemyhp[tabortgt[i] - 1], 0));
  2180.    
  2181.       } else {
  2182.     miss = rand() % 2;
  2183.     if (miss == 0) {
  2184.       if ((i + 1) - tabortgt[i] == 0) iteracja = 3;
  2185.       if ((i + 1) - tabortgt[i] == -1) iteracja = 8;
  2186.       if ((i + 1) - tabortgt[i] == -2) iteracja = 13;
  2187.       if ((i + 1) - tabortgt[i] == -3) iteracja = 18;
  2188.       if ((i + 1) - tabortgt[i] == 1) iteracja = -8;
  2189.       if ((i + 1) - tabortgt[i] == 2) iteracja = -13;
  2190.       if ((i + 1) - tabortgt[i] == 3) iteracja = -18;
  2191.     } else {
  2192.       if ((i + 1) - tabortgt[i] == 0) iteracja = -2;
  2193.       if ((i + 1) - tabortgt[i] == -1) iteracja = 3;
  2194.       if ((i + 1) - tabortgt[i] == -2) iteracja = 8;
  2195.       if ((i + 1) - tabortgt[i] == -3) iteracja = 13;
  2196.       if ((i + 1) - tabortgt[i] == 1) iteracja = -3;
  2197.       if ((i + 1) - tabortgt[i] == 2) iteracja = -8;
  2198.       if ((i + 1) - tabortgt[i] == 3) iteracja = -13;
  2199.     }
  2200.    
  2201.     for (int k = 0; k < 46; k++) {
  2202.       if (k == 1) {
  2203.         CPos(i * 5 + 6, 14);
  2204.         printf("%c", 219);
  2205.         CPos(i * 5 + 4, 14);
  2206.         printf("%c", 219);
  2207.         CPos(i * 5 + 5, 14);
  2208.         printf("%c", 219);
  2209.       }
  2210.      
  2211.       y = (i * 5) + 5 + k * (iteracja / czterdziesciszesc);
  2212.       x++;
  2213.       CPos(y, x);
  2214.       printf("#");
  2215.       CPos(y - 1, x - 1);
  2216.       printf(" ");
  2217.       CPos(y, x - 1);
  2218.       printf(" ");
  2219.       CPos(y + 1, x - 1);
  2220.       printf(" ");
  2221.       Sleep(5);
  2222.     }
  2223.    
  2224.     for (int w = 0; w < 19; w++) {
  2225.       CPos(((i * 5) + 4 + iteracja), 60 + w);
  2226.       printf("#");
  2227.       CPos(((i * 5) + 4 + iteracja), 59 + w);
  2228.       printf(" ");
  2229.       Sleep(5);
  2230.     }
  2231.    
  2232.     CPos(((i * 5) + 4 + iteracja), 78);
  2233.     printf(" ");
  2234.     CPos((i * 5) + 5 + iteracja, 60);
  2235.     printf(" ");
  2236.       }
  2237.     }
  2238.   }
  2239. }
  2240. void stunexecution() {
  2241.   for (int i=0; i<4; i++) {
  2242.     CPos((i * 5) + 4, 63);
  2243.     if (taborenemyhp[i] > 0)
  2244.       printf("stunned    ");
  2245.     Sleep(200);
  2246.   }
  2247. }
  2248. void fragbombexecution() {
  2249.   setcolor(15);
  2250.   for (int i=0; i<4; i++) {
  2251.     if (taborenemyhp[i] > 0) {
  2252.       taborenemyhp[i] -= 10;
  2253.       CPos((i * 5) + 4, 63);
  2254.       printf("HP %-8d", taborenemyhp[i]);
  2255.     }
  2256.   }
  2257.   setcolor(7);
  2258. }
  2259. void fight(int side, int amt, int hp, int dmg, int ai) {
  2260.   int sidea, amta, hpa, dmga, aia;
  2261.   sidea = side;
  2262.   amta = amt;
  2263.   //     hpa = amt;
  2264.   hpa = hp;
  2265.   int cel;
  2266.   dmga = dmg;
  2267.   aia = ai;
  2268.   char celkey;
  2269.   int celpoz = 0;
  2270.   int mojtabor, mojcygan;
  2271.   wholescr();
  2272.   mojtabor = wozki;
  2273.   mojcygan = tabor;
  2274.   for (;;) {
  2275.     for (int i = 0; i < 4; i++) {
  2276.       CPos(i + 5, 35);
  2277.       printf("                        ");
  2278.      
  2279.     }
  2280.     //ustawienia taborow ally
  2281.     for (int i = 0; i < 4; i++) {
  2282.       if ((taborallyhp[i] == 0) && (mojtabor > 0) && (mojcygan > 0)) {
  2283.    
  2284.     taborallyhp[i] = min(50, mojcygan);
  2285.     mojcygan = mojcygan - min(50, mojcygan);
  2286.     mojtabor = mojtabor - 1;
  2287.       }
  2288.     }
  2289.    
  2290.    
  2291.     for (int i = 0; i < 4; i++) {
  2292.       if (taborallyhp[i] == 0) {
  2293.     for (int j = 0; j < 4; j++)
  2294.       for (int k = 0; k < 13; k++) {
  2295.         CPos((i * 5) + j + 3, k + 2);
  2296.         printf(" ");
  2297.       }
  2298.       }
  2299.     }
  2300.    
  2301.     //ustawienia tabrow enemy
  2302.    
  2303.     for (int i = 0; i < 4; i++) {
  2304.       if ((taborenemyhp[i] <= 0) && (amta > 0) && (hpa > 0)) {
  2305.     taborenemyhp[i] = min(50, hpa);
  2306.     hpa = hpa - min(50, hpa);
  2307.       }
  2308.     }
  2309.     Sleep(250);
  2310.     CPos(1, 1);
  2311.     printf("Masz w zapasie %d cyganow,  ", mojcygan);
  2312.     CPos(2, 1);
  2313.     printf("%d taborow i %lld kg gruzu     ", mojtabor, gruz);
  2314.     CPos(1, 52);
  2315.     printf("W zapasie %d cyganow   ", hpa);
  2316.     for (int i = 0; i < 4; i++) {
  2317.       if (taborallyhp[i] > 0) {
  2318.     for (int j = 0; j < 10; j++)
  2319.       for (int k = 0; k < 15; k++) {
  2320.         CPos((i * 5 + j) + 3, k + 2);
  2321.         if (pojazd[j][k] == '#') printf("%c", 219);
  2322.       }
  2323.       CPos((i * 5) + 4, 3);
  2324.     printf("HP %-8d", taborallyhp[i]);
  2325.       }
  2326.     }
  2327.    
  2328.    
  2329.     for (int i = 0; i < 4; i++) {
  2330.       if (taborenemyhp[i] > 0) {
  2331.     for (int j = 0; j < 10; j++)
  2332.       for (int k = 0; k < 15; k++) {
  2333.         CPos((i * 5 + j) + 3, k + 62);
  2334.         if (pojazd[j][k] == '#') printf("%c", 219);
  2335.       }
  2336.       CPos((i * 5) + 4, 63);
  2337.     printf("HP %-8d", taborenemyhp[i]);
  2338.       }
  2339.     }
  2340.    
  2341.     CPos(5, 25);
  2342.     printf("Tabor 1");
  2343.     CPos(6, 25);
  2344.     printf("Tabor 2");
  2345.     CPos(7, 25);
  2346.     printf("Tabor 3");
  2347.     CPos(8, 25);
  2348.     printf("Tabor 4");
  2349.     CPos(9, 25);
  2350.     printf("Spelle");
  2351.     CPos(10, 25);
  2352.     printf("Zakoncz ture");
  2353.    
  2354.     for (int i = 0; i < 4; i++) {
  2355.       if (taborallyhp[i] == 0) {
  2356.     CPos(i + 5, 35);
  2357.     printf("Brak taboru");
  2358.       }
  2359.     }
  2360.    
  2361.     fragbombauzyta = false;
  2362.     stunuzyty = false;
  2363.     for (;;) {
  2364.       CPos(0,0);
  2365.       Sleep(1);
  2366.       if (_kbhit()) {
  2367.     fightkey = _getch();
  2368.     if (fightkey == 's' && fightpoz < 5) fightpoz++;
  2369.     if (fightkey == 'w' && fightpoz > 0) fightpoz--;
  2370.     if (fightkey == 'e' && fightpoz == 5) {
  2371.       break;
  2372.     }
  2373.     if (fightkey == 'e' && fightpoz == 4) {
  2374.       CPos(14, 25);
  2375.       printf("Wybierz atak specjalny:");
  2376.       while (true) {
  2377.         cel = wsselect(15, 26, 3, "fragbomba [damage] -> 1k gruzu", "rozpylenie tynku [stun] -> 2k gruzu", "wroc");
  2378.         if (cel == 0) {
  2379.           if (fragbombauzyta || gruz < 1000) {
  2380.         CPos(18, 25);
  2381.         printf("[frag] bron niedostepna");
  2382.           }
  2383.           else {
  2384.         gruz -= 1000;
  2385.         CPos(2, 1);
  2386.         printf("%d taborow i %lld kg gruzu     ", mojtabor, gruz);
  2387.         fragbombauzyta = true;
  2388.         fragbombexecution();
  2389.         break;
  2390.           }
  2391.         }
  2392.         else if (cel == 1) {
  2393.           if (stunuzyty || gruz < 2000) {
  2394.         CPos(18, 25);
  2395.         printf("[stun] bron niedostepna");
  2396.           }
  2397.           else {
  2398.         gruz -= 2000;
  2399.         CPos(2, 1);
  2400.         printf("%d taborow i %lld kg gruzu     ", mojtabor, gruz);
  2401.         stunuzyty = true;
  2402.         stunexecution();
  2403.         break;
  2404.           }
  2405.         }
  2406.         else break;
  2407.       }
  2408.       CPos(14, 25);
  2409.       printf("                       ");
  2410.       CPos(18, 25);
  2411.       printf("                       ");
  2412.     }
  2413.     if (fightkey == 'e' && taborallyhp[fightpoz] > 0) {
  2414.       CPos(14, 25);
  2415.       printf("Ktory tabor chcesz zaatakowac?");
  2416.       cel = 0;
  2417.       for (int i = 0; i < 5; i++)
  2418.         if (taborenemyhp[i] > 0) {
  2419.           cel++;
  2420.           possibletgt[cel] = i + 1;
  2421.           CPos(cel + 15, 25);
  2422.           printf("nr. %d ", i + 1);
  2423.         }
  2424.         CPos(cel + 16, 25);
  2425.       printf("Wroc");
  2426.       for (;;) {
  2427.         if (choose == true) {
  2428.           choose = false;
  2429.           CPos(14, 25);
  2430.           printf("                              ");
  2431.           for (int i = 0; i < cel + 2; i++) {
  2432.         CPos(i + 15, 24);
  2433.         printf("         ");
  2434.           }
  2435.           break;
  2436.         }
  2437.         CPos(0,0);
  2438.         Sleep(1);
  2439.         if (_kbhit()) {
  2440.           celkey = _getch();
  2441.           if (celkey == 'w' && celpoz > 1) celpoz--;
  2442.           if (celkey == 's' && celpoz < (cel + 1)) celpoz++;
  2443.           CPos(celpoz + 14, 24);
  2444.           printf(" ");
  2445.           CPos(celpoz + 15, 24);
  2446.           printf(">");
  2447.           CPos(celpoz + 16, 24);
  2448.           printf(" ");
  2449.           if (celkey == 'e' && celpoz == cel + 1) {
  2450.         CPos(14, 25);
  2451.         printf("                              ");
  2452.         for (int i = 0; i < cel + 2; i++) {
  2453.           CPos(i + 15, 24);
  2454.           printf("         ");
  2455.         }
  2456.         break;
  2457.           }
  2458.           if (celkey == 'e') {
  2459.         CPos(16, 34);
  2460.         printf("Czym chcesz zaatakowac");
  2461.         CPos(17, 34);
  2462.         printf("Tabor numer %d", possibletgt[celpoz]);
  2463.         CPos(18, 34);
  2464.         printf("Cegla -> 25 gruzu");
  2465.         CPos(19, 34);
  2466.         printf("Gruz -> 50 gruzu");
  2467.         CPos(20, 34);
  2468.         printf("Wroc");
  2469.         ammopoz = 1;
  2470.         for (;;) {
  2471.           CPos(0,0);
  2472.           Sleep(1);
  2473.           if (_kbhit()) {
  2474.             ammotype = _getch();
  2475.             if (ammotype == 'w' && ammopoz > 0) ammopoz--;
  2476.             if (ammotype == 's' && ammopoz < 2) ammopoz++;
  2477.             if (ammotype == 'e' && ammopoz == 1) {
  2478.               tabortgt[fightpoz] = possibletgt[celpoz];
  2479.               taborweapon[fightpoz] = 'G';
  2480.               choose = true;
  2481.             }
  2482.             if (ammotype == 'e' && ammopoz == 0) {
  2483.               tabortgt[fightpoz] = possibletgt[celpoz];
  2484.               taborweapon[fightpoz] = 'C';
  2485.               choose = true;
  2486.             }
  2487.             if ((ammotype == 'e' && ammopoz == 2) || choose == true) {
  2488.               CPos(16, 33);
  2489.               printf("                       ");
  2490.               CPos(17, 33);
  2491.               printf("               ");
  2492.               CPos(18, 33);
  2493.               printf("                  ");
  2494.               CPos(19, 33);
  2495.               printf("                 ");
  2496.               CPos(20, 33);
  2497.               printf("       ");
  2498.               CPos(fightpoz + 5, 35);
  2499.               if (tabortgt[fightpoz] != 0) printf("cel %d sposob %c", tabortgt[fightpoz], taborweapon[fightpoz]);
  2500.               break;
  2501.             }
  2502.             CPos(ammopoz + 17, 33);
  2503.             printf(" ");
  2504.             CPos(ammopoz + 18, 33);
  2505.             printf(">");
  2506.             CPos(ammopoz + 19, 33);
  2507.             printf(" ");
  2508.           }
  2509.         }
  2510.           }
  2511.         }
  2512.       }
  2513.      
  2514.     }
  2515.    
  2516.     CPos(fightpoz + 4, 24);
  2517.     printf(" ");
  2518.     CPos(fightpoz + 5, 24);
  2519.     printf(">");
  2520.     CPos(fightpoz + 6, 24);
  2521.     printf(" ");
  2522.       }
  2523.     }
  2524.     for (int i = 0; i < 10; i++)
  2525.       for (int j = 0; j < 30; j++) {
  2526.     CPos(i + 5, j + 20);
  2527.     printf(" ");
  2528.       }
  2529.      
  2530.       ai1set();
  2531.    
  2532.     allyexecution();
  2533.    
  2534.     enemyexecution();
  2535.    
  2536.    
  2537.     //fightend chc
  2538.     if (hpa == 0 && ((taborenemyhp[0] == 0) && (taborenemyhp[1] == 0) && (taborenemyhp[2] == 0) && (taborenemyhp[3] == 0))) break;
  2539.     if (mojcygan == 0 && ((taborallyhp[0] == 0) && (taborallyhp[1] == 0) && (taborallyhp[2] == 0) && (taborallyhp[3] == 0))) {
  2540.       //             freegipsy = freegipsy - (tabor - mojcygan);
  2541.       //             tabor = tabor - (tabor - mojcygan);
  2542.       freegipsy = tabor = mojcygan;
  2543.       miastowi = 0;
  2544.       gornicy = 0;
  2545.       break;
  2546.     }
  2547.   }
  2548.  
  2549. }
  2550. void bhpinfo() {
  2551.   CPos(10, 2);
  2552.   printf("Ulepszenie BHP zmniejsza szanse na wypadek");
  2553.   CPos(11, 2);
  2554.   printf("Kazde ulepszenie zmniejsza szanse na wypadek");
  2555.   CPos(12, 2);
  2556.   printf("o 1%%. Ulepszenie poziomu 10 gwarantuje");
  2557.   CPos(13, 2);
  2558.   printf("bezwypadkowa prace. Oczywiscie za swoja cene");
  2559.   CPos(14, 2);
  2560.   printf("wcisnij dowolny klawisz zeby wyjsc");
  2561.   buffersink();
  2562.   _getch();
  2563.   CPos(10, 2);
  2564.   printf("                                          ");
  2565.   CPos(11, 2);
  2566.   printf("                                            ");
  2567.   CPos(12, 2);
  2568.   printf("                                      ");
  2569.   CPos(13, 2);
  2570.   printf("                                            ");
  2571.   CPos(14, 2);
  2572.   printf("                                  ");
  2573. }
  2574. void miasto() {
  2575.   CPos(15, 40);
  2576.   printf("ile cyganow chcesz przydzielic");
  2577.   CPos(16, 40);
  2578.   printf("do okradania miasta a< >d p- przydziel");
  2579.   CPos(17, 40);
  2580.   printf("w- wroc q- wszyscy dost.");
  2581.   for (;;) {
  2582.     CPos(0,0);
  2583.     Sleep(1);
  2584.     if (_kbhit()) {
  2585.       citysel = _getch();
  2586.       if (citysel == 'a' && miastowi > 0) miastowi--;
  2587.       if (citysel == 'd' && 0 < (tabor - (rzemieslnicy + naukowcy + miastowi + gornicy))) miastowi++;
  2588.       CPos(18, 40);
  2589.       printf("%lld cyganow   ", miastowi);
  2590.       if (citysel == 'p') {
  2591.     CPos(15, 40);
  2592.     printf("                                ");
  2593.     CPos(16, 40);
  2594.     printf("                                      ");
  2595.     CPos(17, 40);
  2596.     printf("                        ");
  2597.     CPos(18, 40);
  2598.     printf("                  ");
  2599.     printfgielda();
  2600.     printftabor();
  2601.     break;
  2602.       }
  2603.       if (citysel == 'q') {
  2604.     miastowi = (tabor - (rzemieslnicy + naukowcy + gornicy));
  2605.     CPos(15, 40);
  2606.     printf("                                ");
  2607.     CPos(16, 40);
  2608.     printf("                                      ");
  2609.     CPos(17, 40);
  2610.     printf("                        ");
  2611.     CPos(18, 40);
  2612.     printf("                  ");
  2613.     printftabor();
  2614.     printfgielda();
  2615.     break;
  2616.       }
  2617.       if (citysel == 'w') {
  2618.     miastowi = 0;
  2619.     CPos(15, 40);
  2620.     printf("                                ");
  2621.     CPos(16, 40);
  2622.     printf("                                      ");
  2623.     CPos(17, 40);
  2624.     printf("                        ");
  2625.     CPos(18, 40);
  2626.     printf("                  ");
  2627.     break;
  2628.       }
  2629.      
  2630.     }
  2631.   }
  2632. }
  2633. void kilofyres() {
  2634.   CPos(10, 2);
  2635.   for (int i = 0; i < 20; i++)
  2636.     printf("%c", gruzwydob[minelvl - 1][i]);
  2637.   CPos(11, 2);
  2638.   printf("Cena w gruzie %d", gruzwydobp[minelvl - 1]);
  2639.   CPos(12, 2);
  2640.   printf("Czas w cyganoroboczodniach %d", gruzwydobd[minelvl - 1]);
  2641.   CPos(13, 2);
  2642.   printf("Efekt:");
  2643.   for (int i = 0; i < 20; i++)
  2644.     printf("%c", gruzwydobe[minelvl - 1][i]);
  2645.   CPos(14, 2);
  2646.   printf("r - zeby zaczac odkrywac, w - wyjdz");
  2647.   for (;;) {
  2648.     CPos(0,0);
  2649.     Sleep(1);
  2650.     if (_kbhit()) {
  2651.       tmpsel = _getch();
  2652.       if (tmpsel == 'w') {
  2653.     CPos(4, 2);
  2654.     printf("                                                         ");
  2655.     CPos(5, 2);
  2656.     printf("                                                         ");
  2657.     CPos(6, 2);
  2658.     printf("                                                         ");
  2659.     CPos(7, 2);
  2660.     printf("                                      ");
  2661.     CPos(8, 2);
  2662.     printf("                                       ");
  2663.     CPos(9, 2);
  2664.     printf("                                       ");
  2665.     CPos(10, 2);
  2666.     printf("                                      ");
  2667.     CPos(11, 2);
  2668.     printf("                                      ");
  2669.     CPos(12, 2);
  2670.     printf("                                      ");
  2671.     CPos(13, 2);
  2672.     printf("                                      ");
  2673.     CPos(14, 2);
  2674.     printf("                                      ");
  2675.     break;
  2676.       }
  2677.       if (tmpsel == 'r') { if (gruzwydobp[minelvl - 1] < gruz) {
  2678.     gruz = gruz - gruzwydobp[minelvl - 1];
  2679.     labwork = true;
  2680.     rschtask = 1;
  2681.     labtime = gruzwydobd[minelvl - 1];
  2682.     for (int i = 0; i < 25; i++)
  2683.       currsch[i] = gruzwydob[minelvl - 1][i];
  2684.     CPos(4, 2);
  2685.     printf("                                                        ");
  2686.     CPos(5, 2);
  2687.     printf("                                                        ");
  2688.     CPos(6, 2);
  2689.     printf("                                                        ");
  2690.     CPos(7, 2);
  2691.     printf("                                       ");
  2692.     CPos(8, 2);
  2693.     printf("                                       ");
  2694.     CPos(9, 2);
  2695.     printf("                                       ");
  2696.     CPos(10, 2);
  2697.     printf("                                      ");
  2698.     CPos(11, 2);
  2699.     printf("                                      ");
  2700.     CPos(12, 2);
  2701.     printf("                                      ");
  2702.     CPos(13, 2);
  2703.     printf("                                      ");
  2704.     CPos(14, 2);
  2705.     printf("                                      ");
  2706.     break;
  2707.       } else {
  2708.     CPos(15, 2);
  2709.     printf("Sorry nie masz tyle gruzu, nacisnij dow. przycisk zeby kontynuowac");
  2710.     buffersink();
  2711.     _getch();
  2712.     CPos(4, 2);
  2713.     printf("                                                            ");
  2714.     CPos(5, 2);
  2715.     printf("                                                            ");
  2716.     CPos(6, 2);
  2717.     printf("                                                            ");
  2718.     CPos(7, 2);
  2719.     printf("                                      ");
  2720.     CPos(8, 2);
  2721.     printf("                                       ");
  2722.     CPos(9, 2);
  2723.     printf("                                       ");
  2724.     CPos(10, 2);
  2725.     printf("                                      ");
  2726.     CPos(11, 2);
  2727.     printf("                                      ");
  2728.     CPos(12, 2);
  2729.     printf("                                      ");
  2730.     CPos(13, 2);
  2731.     printf("                                      ");
  2732.     CPos(14, 2);
  2733.     printf("                                      ");
  2734.     CPos(15, 2);
  2735.     printf("                                      ");
  2736.       }}
  2737.     }
  2738.   }
  2739. }
  2740. void kilofyinfo() {
  2741.   CPos(10, 2);
  2742.   printf("Ulepszenie kilofow powoduje wzrost dziennego urobku");
  2743.   buffersink();
  2744.   _getch();
  2745.   CPos(10, 2);
  2746.   printf("                                                   ");
  2747. }
  2748. void lab() {
  2749.   clearwindow(0, 0, 79, 24);
  2750.  
  2751.   for (;;) {
  2752.     CPos(1, 1);
  2753.     printf("Witaj w laboratorium. aktualnie pracuje tu %lld cyganow", naukowcy);
  2754.     CPos(2, 1);
  2755.     printf("Mysla nad projektem");
  2756.     for (int i = 0; i < 25; i++) printf("%c", currsch[i]);
  2757.     CPos(3, 1);
  2758.     if (naukowcy == 0) printf("Nie mysla bo nie ma komu myslec");
  2759.     else if (labwork) printf("Zajmie im to %lld dni              ", max(labtime / naukowcy, a));
  2760.     else printf("brak projektu badawczego                                                     ");
  2761.     CPos(4, 2);
  2762.     printf("p - przydziel cyganow do pracy, q - wyjdz");
  2763.     if (labwork == false) {
  2764.       CPos(5, 2);
  2765.       printf("b - wybiez projekt badawczy,");
  2766.     } else {
  2767.       CPos(5, 2);
  2768.       printf("Badania w toku");
  2769.     }
  2770.     labsel = _getch();
  2771.     if (labsel == 'q') {
  2772.       clearwindow(0, 0, 79, 24);
  2773.       oldtabor++;
  2774.       printftabor();
  2775.       printfceny();
  2776.       printfgielda();
  2777.       break;
  2778.     }
  2779.     if (labsel == 'p') {
  2780.       for (;;) {
  2781.     CPos(0,0);
  2782.     Sleep(1);
  2783.     if (_kbhit()) {
  2784.       labgips = _getch();
  2785.       if (labgips == 'a' && naukowcy > 0) naukowcy--;
  2786.       if (labgips == 'd' && naukowcy < tabor - (rzemieslnicy + gornicy + miastowi)) naukowcy++;
  2787.       if (labgips == 'p') {
  2788.         CPos(7, 1);
  2789.         printf("                         ");
  2790.         CPos(8, 1);
  2791.         printf("                         ");
  2792.         break;
  2793.       }
  2794.     }
  2795.     CPos(7, 1);
  2796.     printf("p - przydziel");
  2797.     CPos(8, 1);
  2798.     printf("a < %lld > d", naukowcy);
  2799.       }
  2800.     }
  2801.     if (labsel == 'b' && labwork == false) {
  2802.       for (int i = 0; i < 10; i++) {
  2803.     CPos(i + 7, 6);
  2804.     printf("%s", projekty[i]);
  2805.       }
  2806.       CPos(6, 7);
  2807.       printf("w%c s%c e - wybiez, i - informacje, r - wyjdz", 30, 31);
  2808.       for (;;) {
  2809.     CPos(0,0);
  2810.     Sleep(1);
  2811.     if (_kbhit()) {
  2812.       reskey = _getch();
  2813.       if (reskey == 'w' && respoz > 0) respoz--;
  2814.       if (reskey == 's' && respoz < 1) respoz++;
  2815.       if (reskey == 'i') {
  2816.         if (respoz == 0) kilofyinfo();
  2817.         if (respoz == 1) bhpinfo();
  2818.       }
  2819.       if (reskey == 'e') {
  2820.         if (respoz == 1) bhpres();
  2821.         if (respoz == 0) kilofyres();
  2822.         break;
  2823.       }
  2824.       if (reskey == 'r') {
  2825.         CPos(6, 1);
  2826.         printf("                                                   ");
  2827.         CPos(7, 1);
  2828.         printf("                                                   ");
  2829.         CPos(8, 1);
  2830.         printf("                                                   ");
  2831.         CPos(9, 1);
  2832.         printf("                                                   ");
  2833.        
  2834.         for (int i = 0; i < 10; i++)
  2835.           for (int j = 0; j < 20; j++) {
  2836.         CPos(i + 7, j + 5);
  2837.         printf(" ");
  2838.           }
  2839.           break;
  2840.       }
  2841.     } else {
  2842.       if (respozold != respoz) {
  2843.         respozold = respoz;
  2844.         CPos(respoz + 6, 5);
  2845.         printf(" ");
  2846.         CPos(respoz + 7, 5);
  2847.         printf(">");
  2848.         CPos(respoz + 8, 5);
  2849.         printf(" ");
  2850.         CPos(0, 0);
  2851.       }
  2852.      
  2853.     }
  2854.       }
  2855.     }
  2856.   }
  2857. }
  2858. void printftabor() {
  2859.   freegipsy = tabor - (gornicy + rzemieslnicy + naukowcy + miastowi);
  2860.   CPos(1, 1);
  2861.   printf("Witaj w swoim taborze");
  2862.   CPos(2, 1);
  2863.   printf("%lld dzien twojej cyganskiej przygody", dzien);
  2864.   for (int i = 0; i < 20; i++)
  2865.     for (int j = 0; j < 20; j++) {
  2866.       CPos(j + 5, i + 5);
  2867.       if (wagon[j][i] == '#') printf("%c", 219);
  2868.     }
  2869.    
  2870.     for (int i = 1; i < 19; i++)
  2871.       for (int j = 6; j < 15; j++) {
  2872.     CPos(j, i + 5);
  2873.     printf(" ");
  2874.       }
  2875.       CPos(14, 6);
  2876.     printf("      ");
  2877.     setcolor(8);
  2878.     CPos(4, 5);
  2879.     printf("%c%c%c%c%c", 219, 219, 219, 219, 219);
  2880.     CPos(4, 20);
  2881.     printf("%c%c%c%c%c", 219, 219, 219, 219, 219);
  2882.     CPos(16, 5);
  2883.     printf("%c%c%c%c%c", 219, 219, 219, 219, 219);
  2884.     CPos(16, 20);
  2885.     printf("%c%c%c%c%c", 219, 219, 219, 219, 219);
  2886.     setcolor(7);
  2887.     if (tabor >= 1) {
  2888.       for (int i = 0; i < 4; i++) for (int j = 0; j < 4; j++) {
  2889.     CPos(j + 6, i + 6);
  2890.     if (cygan[j][i] == 't') printf("%c", 257);
  2891.     else printf("%c", cygan[j][i]);
  2892.       }
  2893.     }
  2894.     if (tabor >= 5) {
  2895.       for (int i = 0; i < 4; i++) for (int j = 0; j < 4; j++) {
  2896.     CPos(j + 10, i + 6);
  2897.     if (cygan[j][i] == 't') printf("%c", 257);
  2898.     else printf("%c", cygan[j][i]);
  2899.       }
  2900.     }
  2901.     if (tabor >= 10) {
  2902.       for (int i = 0; i < 4; i++) for (int j = 0; j < 4; j++) {
  2903.     CPos(j + 6, i + 10);
  2904.     if (cygan[j][i] == 't') printf("%c", 257);
  2905.     else printf("%c", cygan[j][i]);
  2906.       }
  2907.     }
  2908.     if (tabor >= 50) {
  2909.       for (int i = 0; i < 4; i++) for (int j = 0; j < 4; j++) {
  2910.     CPos(j + 10, i + 10);
  2911.     if (cygan[j][i] == 't') printf("%c", 257);
  2912.     else printf("%c", cygan[j][i]);
  2913.       }
  2914.     }
  2915.     if (tabor >= 100) {
  2916.       for (int i = 0; i < 4; i++) for (int j = 0; j < 4; j++) {
  2917.     CPos(j + 6, i + 14);
  2918.     if (cygan[j][i] == 't') printf("%c", 257);
  2919.     else printf("%c", cygan[j][i]);
  2920.       }
  2921.     }
  2922.     if (tabor >= 500) {
  2923.       for (int i = 0; i < 4; i++) for (int j = 0; j < 4; j++) {
  2924.     CPos(j + 10, i + 14);
  2925.     if (cygan[j][i] == 't') printf("%c", 257);
  2926.     else printf("%c", cygan[j][i]);
  2927.       }
  2928.     }
  2929.     if (tabor >= 1000) {
  2930.       for (int i = 0; i < 4; i++) for (int j = 0; j < 4; j++) {
  2931.     CPos(j + 6, i + 18);
  2932.     if (cygan[j][i] == 't') printf("%c", 257);
  2933.     else printf("%c", cygan[j][i]);
  2934.       }
  2935.     }
  2936.     if (tabor >= 5000) {
  2937.       for (int i = 0; i < 4; i++) for (int j = 0; j < 4; j++) {
  2938.     CPos(j + 10, i + 18);
  2939.     if (cygan[j][i] == 't') printf("%c", 257);
  2940.     else printf("%c", cygan[j][i]);
  2941.       }
  2942.     }
  2943.     CPos(13, 6);
  2944.     printf("ilosc wolnych");
  2945.     CPos(14, 6);
  2946.     printf("cyganow %lld", freegipsy);
  2947.     CPos(6, 30);
  2948.     printf("Gruz %lld       ", gruz);
  2949.     CPos(7, 30);
  2950.     printf("Hajs %lld       ", hajs);
  2951.     CPos(8, 30);
  2952.     printf("Masz %lld taborow", wozki);
  2953.     CPos(10, 30);
  2954.     printf("W ktorych mozez jeszcze");
  2955.     CPos(11, 30);
  2956.     printf("pomiescic %lld cyganow", (wozki * maxcygan) - tabor);
  2957. }
  2958. void genceny() {
  2959.   buycygan = ((rand() % 100) + 50) + ((freegipsy + gornicy + rzemieslnicy + naukowcy + miastowi) / 3);
  2960.   sellcygan = buycygan - ((rand() % 25) + 10);
  2961.   buytabor = (rand() % 300) + 200 + (wozki * ((rand() % 100) + 1));
  2962.   sellgruz = rand() % 25;
  2963.   sellpatelnia = (rand() % 25) + 10;
  2964. }
  2965. void printfceny() {
  2966.   if (buycygan - (50 + ((freegipsy + gornicy + rzemieslnicy + naukowcy + miastowi) / 3)) < 130) setcolor(12);
  2967.   if (buycygan - (50 + ((freegipsy + gornicy + rzemieslnicy + naukowcy + miastowi) / 3)) < 90) setcolor(14);
  2968.   if (buycygan - (50 + ((freegipsy + gornicy + rzemieslnicy + naukowcy + miastowi) / 3)) < 60) setcolor(10);
  2969.  
  2970.   CPos(20, 1);
  2971.   printf("Cena kupna cygana %lld cygcoinow   ", buycygan);
  2972.   if (buycygan - sellcygan < 35) setcolor(12);
  2973.   if (buycygan - sellcygan < 15) setcolor(14);
  2974.   if (buycygan - sellcygan < 5) setcolor(10);
  2975.   CPos(21, 1);
  2976.   printf("Zysk ze sprzedazy cygana %lld cygcoinow   ", sellcygan);
  2977.   if (buytabor - (200 + wozki) < 400) setcolor(12);
  2978.   if (buytabor - (200 + wozki) < 250) setcolor(14);
  2979.   if (buytabor - (200 + wozki) < 100) setcolor(10);
  2980.   CPos(22, 1);
  2981.   printf("Cena kupna taboru %lld cygcoinow   ", buytabor);
  2982.   if (sellgruz < 25) setcolor(10);
  2983.   if (sellgruz < 15) setcolor(14);
  2984.   if (sellgruz < 5) setcolor(12);
  2985.   CPos(23, 1);
  2986.   printf("Zysk ze sprzedazy gruzu %lld cygcoinow/kg   ", sellgruz);
  2987.   setcolor(7);
  2988. }
  2989. void ceny() {
  2990.   genceny();
  2991.   printfceny();
  2992. }
  2993. void printfgielda() {
  2994.   for (int i = 0; i < 9; i++)
  2995.     for (int j = 0; j < 15; j++) {
  2996.       CPos(i + 2, j + 60);
  2997.       printf("%c", menu[i][j]);
  2998.     }
  2999.     CPos(menupoz, 59);
  3000.   printf(" ");
  3001.   CPos(menupoz + 1, 59);
  3002.   printf("%c", 26);
  3003.   CPos(menupoz + 2, 59);
  3004.   printf(" ");
  3005.   CPos(4, 70);
  3006.   printf("%lld", gornicy);
  3007.   CPos(5, 70);
  3008.   printf("%lld", miastowi);
  3009.   CPos(0, 0);
  3010. }
  3011. void kupcygana() {
  3012.   kupcyganaamt = 0;
  3013.   CPos(20, 50);
  3014.   printf("Stac cie na %lld cyganow", hajs / buycygan);
  3015.   for (;;) {
  3016.     CPos(0,0);
  3017.     Sleep(1);
  3018.     if (_kbhit()) {
  3019.       kupcyganakey = _getch();
  3020.       if (kupcyganakey == 'a' && kupcyganaamt > 0) kupcyganaamt--;
  3021.       if (kupcyganakey == 'd' && kupcyganaamt < hajs / buycygan && kupcyganaamt < ((wozki * maxcygan) - tabor)) kupcyganaamt++;
  3022.       if (kupcyganakey == 'f' && kupcyganaamt < hajs / (buycygan + 10) && (kupcyganaamt + 10) < ((wozki * maxcygan) - tabor)) kupcyganaamt += 10;
  3023.       if (kupcyganakey == 'k' && hajs >= hajs / buycygan) {
  3024.     hajs = hajs - buycygan * kupcyganaamt;
  3025.     tabor = tabor + kupcyganaamt;
  3026.     CPos(20, 50);
  3027.     printf("                             ");
  3028.     CPos(21, 56);
  3029.     printf("                      ");
  3030.     CPos(22, 42);
  3031.     printf("                                    ");
  3032.     printftabor();
  3033.     break;
  3034.       }
  3035.     } else {
  3036.       CPos(21, 56);
  3037.       printf("A %c %lld %c D     ", 17, kupcyganaamt, 16);
  3038.       CPos(22, 42);
  3039.       printf("Mozesz zmiescic jeszcze %lld cyganow", ((wozki * maxcygan) - tabor));
  3040.       kupcyganaamtold = kupcyganaamt;
  3041.     }
  3042.   }
  3043. }
  3044. void kopgruz() {
  3045.   CPos(19, 48);
  3046.   printf("ile cyganow chcesz przydzielic");
  3047.   CPos(20, 48);
  3048.   printf("do kopania w kopalni");
  3049.   CPos(21, 48);
  3050.   printf("p - wszyscy, k - przydziel");
  3051.   for (;;) {
  3052.     CPos(0,0);
  3053.     Sleep(1);
  3054.     if (_kbhit()) {
  3055.       kopajkey = _getch();
  3056.       if (kopajkey == 'd' && gornicy < tabor - (rzemieslnicy + naukowcy + miastowi)) gornicy++;
  3057.       if (kopajkey == 'a' && gornicy > 0) gornicy--;
  3058.       if (kopajkey == 'k') {
  3059.     freegipsy = freegipsy - gornicy;
  3060.     printftabor();
  3061.     printfgielda();
  3062.     CPos(19, 48);
  3063.     printf("                               ");
  3064.     CPos(20, 48);
  3065.     printf("                               ");
  3066.     CPos(21, 48);
  3067.     printf("                               ");
  3068.     CPos(22, 48);
  3069.     printf("                   ");
  3070.     break;
  3071.       }
  3072.       if (kopajkey == 'p') {
  3073.     gornicy = tabor - (rzemieslnicy + naukowcy + miastowi);
  3074.     freegipsy = freegipsy - gornicy;
  3075.     printftabor();
  3076.     printfgielda();
  3077.     CPos(19, 48);
  3078.     printf("                               ");
  3079.     CPos(20, 48);
  3080.     printf("                               ");
  3081.     CPos(21, 48);
  3082.     printf("                               ");
  3083.     CPos(22, 48);
  3084.     printf("                   ");
  3085.    
  3086.     break;
  3087.       }
  3088.     } else {
  3089.       CPos(22, 48);
  3090.       printf("A %c %lld %c D   ", 17, gornicy, 16);
  3091.     }
  3092.    
  3093.    
  3094.   }
  3095. }
  3096. void sellgruza() {
  3097.   sellgruzamt = 0;
  3098.   CPos(19, 40);
  3099.   printf("Mozesz sprzedac %lld gruzu", gruz);
  3100.   CPos(20, 40);
  3101.   printf("a-1 d+1 f+10 g+100 h-wszystko");
  3102.   CPos(21, 40);
  3103.   printf("k - potwierdz");
  3104.   for (;;) {
  3105.     CPos(0,0);
  3106.     Sleep(1);
  3107.     if (_kbhit()) {
  3108.       sellgruzkey = _getch();
  3109.       if (sellgruzkey == 'a' && sellgruzamt > 0) sellgruzamt--;
  3110.       if (sellgruzkey == 'd' && sellgruzamt < gruz) sellgruzamt++;
  3111.       if (sellgruzkey == 'f' && (sellgruzamt + 10) < gruz) sellgruzamt += 10;
  3112.       if (sellgruzkey == 'g' && (sellgruzamt + 100) < gruz) sellgruzamt += 100;
  3113.       if (sellgruzkey == 'h') sellgruzamt = gruz;
  3114.       if (sellgruzkey == 'k') {
  3115.     hajs = hajs + sellgruz * sellgruzamt;
  3116.     gruz = gruz - sellgruzamt;
  3117.     CPos(19, 35);
  3118.     printf("                                        ");
  3119.     CPos(20, 35);
  3120.     printf("                                        ");
  3121.     CPos(21, 35);
  3122.     printf("                                        ");
  3123.     CPos(22, 35);
  3124.     printf("                                        ");
  3125.     oldtabor++;
  3126.     printftabor();
  3127.     break;
  3128.       }
  3129.     } else {
  3130.       CPos(22, 56);
  3131.       printf("A %c %lld %c D     ", 17, sellgruzamt, 16);
  3132.     }
  3133.   }
  3134. }
  3135. void sellcygana() {
  3136.   kupcyganaamt = 0;
  3137.   CPos(20, 50);
  3138.   printf("Mozesz sprzedac %lld cyg.", tabor);
  3139.   for (;;) {
  3140.     CPos(0,0);
  3141.     Sleep(1);
  3142.     if (_kbhit()) {
  3143.       sellcyganakey = _getch();
  3144.       if (sellcyganakey == 'a' && sellcyganaamt > 0) sellcyganaamt--;
  3145.       if (sellcyganakey == 'd' && sellcyganaamt < tabor) sellcyganaamt++;
  3146.       if (sellcyganakey == 'k') {
  3147.     hajs = hajs + sellcygan * sellcyganaamt;
  3148.     tabor = tabor - sellcyganaamt;
  3149.     CPos(20, 50);
  3150.     printf("                        ");
  3151.     CPos(21, 50);
  3152.     printf("                        ");
  3153.     oldtabor++;
  3154.     printftabor();
  3155.     break;
  3156.       }
  3157.     } else {
  3158.       CPos(21, 56);
  3159.       printf("A %c %lld %c D     ", 17, sellcyganaamt, 16);
  3160.       sellcyganaamtold = sellcyganaamt;
  3161.     }
  3162.   }
  3163. }
  3164. void kuptabor() {
  3165.   kuptaboraamt = 0;
  3166.   CPos(20, 50);
  3167.   printf("Mozesz kupic %lld taborow", hajs / buytabor);
  3168.   for (;;) {
  3169.     CPos(0,0);
  3170.     Sleep(1);
  3171.     if (_kbhit()) {
  3172.       buytaborkey = _getch();
  3173.       if (buytaborkey == 'a' && buytaboramt > 0) buytaboramt--;
  3174.       if (buytaborkey == 'd' && buytaboramt < hajs / buytabor) buytaboramt++;
  3175.       if (buytaborkey == 'k') {
  3176.     hajs = hajs - buytaboramt * buytabor;
  3177.     wozki = wozki + buytaboramt;
  3178.     CPos(20, 50);
  3179.     printf("                        ");
  3180.     CPos(21, 50);
  3181.     printf("                        ");
  3182.     oldtabor++;
  3183.     printftabor();
  3184.     break;
  3185.       }
  3186.     } else {
  3187.       CPos(21, 56);
  3188.       printf("A %c %lld %c D     ", 17, buytaboramt, 16);
  3189.       buytaboramtold = buytaboramt;
  3190.     }
  3191.   }
  3192. }
  3193. void sklep() {
  3194.   CPos(2, 59);
  3195.   printf(" ");
  3196.   for (int i = 0; i < 6; i++) {
  3197.     CPos(i + 12, 60);
  3198.     printf("%s", sklepik[i]);
  3199.   }
  3200.  
  3201.   CPos(skleppoz + 12, 59);
  3202.   printf("%c", 26);
  3203.  
  3204.   for (;;) {
  3205.     CPos(0,0);
  3206.     Sleep(1);
  3207.     if (_kbhit()) {
  3208.       sklepkey = _getch();
  3209.       if (sklepkey == 's' && skleppoz < 5) skleppoz++;
  3210.       if (sklepkey == 'w' && skleppoz > 0) skleppoz--;
  3211.       if (sklepkey == 'e' && skleppoz == 5) {
  3212.     clearwindow(45, 11, 78, 20);
  3213.     menupozold++;
  3214.     break;
  3215.       }
  3216.       if (sklepkey == 'e' && skleppoz == 0) kupcygana();
  3217.       if (sklepkey == 'e' && skleppoz == 1) sellcygana();
  3218.       CPos(skleppoz + 11, 59);
  3219.       printf(" ");
  3220.       CPos(skleppoz + 12, 59);
  3221.       printf("%c", 26);
  3222.       CPos(skleppoz + 13, 59);
  3223.       printf(" ");
  3224.       CPos(0, 0);
  3225.       if (sklepkey == 'e' && skleppoz == 2) kuptabor();
  3226.       if (sklepkey == 'e' && skleppoz == 3)
  3227.       {
  3228.     blackmarket();
  3229.     if(dead || zapiwniczenie > 0) break;
  3230.     CPos(2, 59);
  3231.     printf(" ");
  3232.     for (int i = 0; i < 6; i++)
  3233.       for (int j = 0; j < 17; j++) {
  3234.         CPos(i + 12, j + 60);
  3235.         printf("%c", sklepik[i][j]);
  3236.       }
  3237.       }
  3238.       if (sklepkey == 'e' && skleppoz == 4) sellgruza();
  3239.     }
  3240.   }
  3241. }
  3242. int main(int argc, char *argv[]) {
  3243.   srand(time(NULL));
  3244.   findcitycord();
  3245.   citygen();
  3246.   currcity = 'a';
  3247.   miastotyp[0] = 'W';
  3248.   miastotyp[1] = 'M';
  3249.   miastotyp[2] = 'S';
  3250.   printfwindow(0, 0, 79, 24);
  3251.  
  3252.   // do uzycia tylko jednej funkcji, np.:
  3253.   //  $ g++ -DONLYFUN=deathscreen
  3254.   #ifdef ONLYFUN
  3255.   ONLYFUN();
  3256.   if (win) winscreen();
  3257.   else if (dead) deathscreen();
  3258.   return 0;
  3259.   #endif
  3260.  
  3261.  
  3262.   setcolor(1);
  3263.   for (int j = 0; j < 12; j++) {
  3264.     CPos(j + 5, 5);
  3265.     for (int i = 0; i < 66; i++) {
  3266.       if (logo[j][i] == '#') printf("%c", 219);
  3267.       else printf(" ");
  3268.     }
  3269.     Sleep(50);
  3270.   }
  3271.   setcolor(4);
  3272.   CPos(20, 30);
  3273.   warqprintf(tekst, 50);
  3274.   setcolor(7);
  3275.   Sleep(2000);
  3276.   if (argc != 2 || strcmp(argv[1], "x") != 0)
  3277.     secretdata();
  3278.   clearwindow(0, 0, 79, 24);
  3279.  
  3280.  
  3281.   int becconio;
  3282.   for (;;) {
  3283.     generujmarket();
  3284.     deadminer = 0;
  3285.     //EVENTY
  3286.     if (labtime <= 0 && labwork) {
  3287.       labwork = false;
  3288.       for (int i = 0; i < 25; i++)
  3289.     currsch[i] = ' ';
  3290.       if (rschtask == 1) minelvl++;
  3291.       if (rschtask == 2) bhplvl++;
  3292.     }
  3293.     if (gornicy > 0) for (int i = 0; i < gornicy; i++)
  3294.       if ((11 - bhplvl) > rand() % 5000) deadminer++;
  3295.       good = 0;
  3296.     ok = 0;
  3297.     bad = 0;
  3298.     bank = 0;
  3299.     media = 0;
  3300.     granie = 0;
  3301.     budowa = 0;
  3302.     kradl = 0;
  3303.     uciekl = 0;
  3304.     zlapany = 0;
  3305.     if (miastowi > 0) {
  3306.       for (int i = 0; i < miastowi; i++) {
  3307.     tmp = rand() % 100;
  3308.     if (tmp <= 19) good++;
  3309.     if (tmp <= 97 && tmp > 20) ok++;
  3310.     if (tmp <= 100 && tmp > 97) bad++;
  3311.     //good ok bad
  3312.       }
  3313.       for (int i = 0; i < good; i++) {
  3314.     tmp = rand() % 5;
  3315.     if (tmp == 0) bank++;
  3316.     if (tmp == 1) media++;
  3317.     if (tmp == 2) granie++;
  3318.     if (tmp == 3) budowa++;
  3319.     if (tmp == 4) kradl++;
  3320.       }
  3321.       hajs = hajs + ((bank * 100 * (citytype[citynum + 1] + 1)) + (media * 250 * (citytype[citynum + 1] + 1)) + (granie * 15 * (citytype[citynum + 1] + 1)) + (kradl * 50 * (citytype[citynum + 1] + 1)));
  3322.       gruz = gruz + (budowa * 40 * (citytype[i] + 1));
  3323.       for (int i = 0; i < bad; i++) {
  3324.     tmp = rand() % 2;
  3325.     if (tmp == 0) uciekl++;
  3326.     if (tmp == 1) zlapany++;
  3327.    
  3328.    
  3329.     //uciekl, zlapany;
  3330.       }
  3331.     }
  3332.     becconio = 0;
  3333.     if (rand()%100 < 20) {
  3334.       becconio = rand()%30 + 1;
  3335.       dodajitem("kosa bez skina", becconio);
  3336.     }
  3337.    
  3338.     //</EVENTY>
  3339.    
  3340.     //GIPSYNEWS
  3341.     if (gipsynews == true) {
  3342.       if (dzien > 0) {
  3343.     wholescr();
  3344.     if (gornicy * minelvl != 0) {
  3345.       CPos(1, 1);
  3346.       printf("Wykopales %lld kg gruzu", gornicy * minelvl);
  3347.     }
  3348.     if (deadminer > 0) {
  3349.       CPos(2, 1);
  3350.       printf("Podczas pracy umarlo %lld gornikow", deadminer);
  3351.     }
  3352.     CPos(3, 1);
  3353.     printf("%lld cyganow obrabowalo bank i ukradlo %lld cygocoinow", bank, bank * 100 * (citytype[citynum + 1] + 1));
  3354.     CPos(4, 1);
  3355.     printf("%lld cyganow obrabowalo media markt i ukradlo %lld cygocoinow", media, (media * 250 * (citytype[citynum + 1] + 1)));
  3356.     CPos(5, 1);
  3357.     printf("%lld cyganow gralo w tramwaju i zebrali %lld cygocoinow", granie, granie * 15 * (citytype[citynum + 1] + 1));
  3358.     CPos(6, 1);
  3359.     printf("%lld cyganow okradlo budowe i zebrali %lld gruzu", budowa, budowa * 40 * (citytype[citynum + 1] + 1));
  3360.     CPos(7, 1);
  3361.     printf("%lld cyganow okradalo ludzi i ukradli %lld cygocoinow", kradl, kradl * 50 * (citytype[citynum + 1] + 1));
  3362.     CPos(11, 1);
  3363.     printf("%lld cyganow ucieklo z twojego taboru", uciekl);
  3364.     CPos(12, 1);
  3365.     printf("policja zlapala %lld cyganow na goracym uczynku", zlapany);
  3366.     miastowi = miastowi - (uciekl + zlapany);
  3367.     tabor = tabor - (uciekl + zlapany);
  3368.    
  3369.    
  3370.    
  3371.     CPos(14, 1);
  3372.     if (becconio)
  3373.       printf("znalazles item! to kosa [x%d]! brawo!", becconio);
  3374.    
  3375.    
  3376.    
  3377.     CPos(17, 1);
  3378.     printf("nacisnij dowolny klawisz aby kontynuowac");
  3379.     buffersink();
  3380.     _getch();
  3381.     menupozold++;
  3382.     sel = 'p';
  3383.     clearwindow(0, 0, 79, 24);
  3384.    
  3385.       }
  3386.     }
  3387.    
  3388.     //ENDGIPSYNEWS
  3389.     printfgielda();
  3390.     printftabor();
  3391.     gornicy = gornicy - deadminer;
  3392.     tabor = tabor - deadminer;
  3393.     ++oldtabor;
  3394.     ++dzien;
  3395.     ceny();
  3396.     for (;;) {
  3397.       CPos(0,0);
  3398.       Sleep(1);
  3399.       if (_kbhit()) {
  3400.     sel = _getch();
  3401.     if (sel == 's' && menupoz < 9) menupoz++;
  3402.     if (sel == 'w' && menupoz > 1) menupoz--;
  3403.     if (sel == 'e') {
  3404.       if (menupoz == 1) sklep();
  3405.      
  3406.       if (menupoz == 3) kopgruz();
  3407.      
  3408.       if (menupoz == 4) miasto();
  3409.      
  3410.       if (menupoz == 5) {}
  3411.      
  3412.       if (menupoz == 6) lab();
  3413.      
  3414.       if (menupoz == 7) {
  3415.         gruz = gruz + (gornicy * minelvl);
  3416.         printftabor();
  3417.         if (labwork == true) labtime = labtime - naukowcy;
  3418.         break;
  3419.       }
  3420.      
  3421.       if (menupoz == 8) settings();
  3422.      
  3423.       if (menupoz == 9) {
  3424.         switch (ftg()) {
  3425.           case 0:
  3426.         // fajtszens = rand()%100;
  3427.         // if(fajtszens < 10*(citytype[citynum + 1] + 1))
  3428.         //  {
  3429.         //(int side, int amt, int hp, int dmg, int ai)
  3430.         fight(50, 50, 200, 50, 50);
  3431.         //   }
  3432.         break;
  3433.           case 1:
  3434.         break;
  3435.           case 2:
  3436.         bossfight();
  3437.         break;
  3438.           default:
  3439.         break;
  3440.         }
  3441.         wholescr();
  3442.         dzien++;
  3443.         printftabor();
  3444.         printfgielda();
  3445.         printfceny();
  3446.       }
  3447.       if(zapiwniczenie > 0) piwnica();
  3448.     }
  3449.       } else {
  3450.     if (oldtabor != tabor) {
  3451.       oldtabor = tabor;
  3452.       printftabor();
  3453.     }
  3454.     if (menupozold != menupoz) {
  3455.       menupozold = menupoz;
  3456.       printfgielda();
  3457.     }
  3458.       }
  3459.       if (win) {
  3460.     winscreen();
  3461.     return 0;
  3462.       }
  3463.       if(dead) {
  3464.     deathscreen();
  3465.     return 666;
  3466.       }
  3467.     }
  3468.   }
  3469. }
Advertisement
Add Comment
Please, Sign In to add comment