Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- //FTG V. 0.4.13e syf-free update
- // Code by Zbigniew Drozd. Przyw³aszczanie/sprzedawanie kodu jest zabronione,
- // natomiast jego edytowanie jest dozwolone po skopiowaniu tych komentarzy.
- // W razie watpliwosci co do dzialania fragmetow kodu mozna zadawac pytania
- // Chetnie odpowiem na nie na facebookowym fanpagu
- // Faster Than Gruz
- // mi³ej gry
- #include <cstdio>
- #include <cmath>
- #include <algorithm>
- #include <vector>
- #include <sstream>
- #include <ctime>
- #include "conio.h"
- #ifdef __WIN32
- #include <conio.h>
- #include <windows.h>
- #endif
- #include <cstdlib>
- using namespace std;
- void CPos(int i, int j) {
- COORD cPos;
- cPos.X = j;
- cPos.Y = i;
- SetConsoleCursorPosition(GetStdHandle(STD_OUTPUT_HANDLE), cPos);
- }
- //BEGIN REDEF
- void wholescr();
- int qprintf(const char*);
- void clearwindow(int,int,int,int);
- void printfceny();
- void printfgielda();
- void printftabor();
- //END REDEF
- const char* imiona[]={
- "Karol",
- "Andrzej",
- "Pawel",
- "Gruzanna",
- "Gruzorzata",
- "Gruzadi",
- "Gruzio",
- "Filip",
- "Gruzeusz",
- "Gruzary",
- "Hubert",
- "Kamil",
- "Gruzadiusz",
- "Gruzbigniew",
- "Gruzbyslaw",
- "Gruzomil",
- "Gruzalena",
- "Gruzonio",
- "Gruzyslaw",
- "Gruzef",
- "Gruzofil",
- "Gruzymilian",
- "Gruzelina",
- "Gruzold",
- "Gruzofia",
- "Gruzdolf",
- "Gruzciszek",
- "Gruzislaw",
- "Gruzoteusz",
- "Gruzetan",
- "Gryztian",
- "Gruztlomiej",
- "Gruzastian",
- "Gruznacy",
- "Gruzdzislaw",
- "Gruzelard",
- "Gruzbert",
- "Gruzszard",
- "Gruzenon",
- "Gruzenobia",
- "Grudia",
- "Adamiakowa",
- };
- const char* nazwiska[]={
- "Koporski",
- "Gosciej",
- "Jasiak",
- "Wrabec",
- "Stasiak",
- "Gruzawal",
- "Mastazio",
- "Gruzorowski",
- "Morda",
- "Bednarz",
- "Kowalski",
- "Gruzowicz",
- "Gruzson",
- "Gruzerstein",
- "Gruzermann",
- "Gruzerberg",
- "Goldgruz",
- "Silbergruz",
- "Zuckergruz",
- "Odobescu",
- "Negruzzi",
- "Barbu",
- "Bacon",
- "Hubertowicz",
- "Gruz",
- "Grudziewicz",
- "Gruzerfrau",
- "Zuckerfrau",
- "Silberfrau",
- "Goldfrau",
- };
- const int specialnames=10;
- const char* miasta[]={
- "New Gruz",
- "Las Gruzas",
- "Los Gruzeles",
- "Gruzkjavik",
- "Obwod Gruzingradzki",
- "Dolnogruzki Okreg Przemyslowy",
- "Gruzbork",
- "Gruziadz",
- "Wegruz",
- "Bialogruz",
- "Gruzbekistan",
- "Gruzylvania",
- "Amstergruz",
- "Rottergruz",
- "Gruzemburg",
- "Gruzagaskar",
- "Srigruzanka",
- "Gruzstadt",
- "Gruzenhaga",
- "Bydgruszcz",
- "Gruzabama",
- "Gruzestyna",
- "Gruzgaria",
- "Gruzteny",
- "Gruzopolis",
- "Gruzapeszt",
- "Gruzareszt",
- "Gruzidney",
- "Gruzberra",
- "Gruzelbourne",
- "Gruzowice",
- "Gruzow",
- "Nowa Gruznia",
- "Wolgogruz",
- "Gruzograd",
- "Gruzogrodziec",
- "Gruszawa",
- "Podgruzyn",
- "Gruznezja",
- "Gruzystan",
- "Gruzmenia",
- "Gruzachstan",
- "Gruz Vegas",
- "Hollygroos",
- "Gruzantyda",
- };
- vector<const char*> itemki;
- int xpoz, ypoz;
- short int zapiwniczenie;
- bool choose,blackmarketshow;
- int enemytabortgt[5];
- int hazardstawka, kapslewin;
- bool dead, win;
- int possibletgt[5];
- int kosciwin, koscibet;
- int tabortgt[5];
- double x, y;
- char hazardkey, hazardinkey, hazardkosci;
- int hazardpoz;
- int miss;
- int hhh;
- const int blackoplata=10;
- int damage;
- char taborweapon[5];
- long long int hajs = 10000;
- int taborallyhp[5];
- char currcity;
- int fightpoz;
- double iteracja;
- double piec = 5;
- double dziesiec = 10;
- double pietnascie = 15;
- double czterdziesciszesc = 46;
- int fajtszens;
- char ammotype;
- int ammopoz;
- int tmp;
- char fightkey;
- int citynum;
- int marker;
- int ftgpoz;
- bool done;
- bool stunuzyty, fragbombauzyta;
- int taborenemyhp[5];
- int drogi;
- int i, j;
- short int citytype[25];
- short int citygipsyness[25];
- char miastotyp[3];
- long long int good, ok, bad;
- int menupozold;
- long long int bank, media, granie, budowa, kradl;
- long long int uciekl, zlapany;
- long long int rschtask;
- char selset;
- int setpozold;
- char citysel;
- bool gipsynews = true;
- int setpoz;
- long long int a = 1;
- bool labwork = false;
- long long int labtime;
- long long int bhplvl = 1;
- long long int deadminer;
- long long int surrtimr;
- long long int gornicy, rzemieslnicy, naukowcy, miastowi, freegipsy;
- long long int kradziejtrain, kradziejtrainamt, labgips;
- char schoolkey, kopajkey, sellgruzkey, labsel, reskey;
- long long int schoolpoz, minercnt, dzien, oldtabor = 2, buycygan, buytaborey, buytaboramt, kupcyganakey, sellcyganakey, kuptaboraamt, kopajamt;
- char currsch[25];
- long long int minelvl = 1;
- long long int sellgruzamt, respoz;
- long long int respozold = 1;
- long long int kupcyganaamt;
- long long int buytaboramtold;
- char tmpsel;
- long long int sellcyganaamt;
- long long int buytaborkey;
- long long int boytaboramttold = 1;
- long long int kupcyganaamtold = 1;
- long long int sellcyganaamtold = 1;
- long long int skleppoz;
- bool bylpytany[10];
- long long int sklepkey;
- long long int skleppozold;
- long long int sellcygan;
- long long int sellgruz;
- long long int maxcygan = 50;
- int hajsnarynek;
- int blacktowar[10];
- int imie[10][2];
- int lubienie[10]={3,3,3,3,3,3,3,3,3,3};
- int cyganstwo[10];
- char logoFNAC[50][50] = {
- " ### O#O ### ",
- " ##### #v# ##### ",
- " ## #### # #### ## ",
- " ## #### # #### ## ",
- "## ######### ##",
- " ######### ",
- " ## ## ",
- " ## ## ",
- " / \\ ",
- " _/ \\_ ",
- "QQQQQ QQ Q Q QQQ ",
- "Q Q Q Q Q Q Q Q",
- "QQQQQ Q Q Q Q Q Q ",
- "Q Q QQ QQQQQ Q Q",
- "Q Q Q Q Q QQQ ",
- };
- char towary [50][50] = {
- "tanie zegarki",
- "gry z torrentow",
- "Bron biala",
- "marihuaen",
- "narkotyki",
- "stare komorki",
- "gazety",
- "falszywe dokumenty",
- "dopalacze",
- "alkohol",
- "bron palna",
- "falszywe dyplomy",
- "kradzione rowery",
- };
- char dyplomtype[50][50] = {
- "Ukonczenia SP",
- "Ukonczenia GIM",
- "Ukonczenia LO",
- "Ukonczenia LP",
- "Ukonczenia uniewsytetu",
- "Ukonczenia politechniki",
- "Ukonczenia technikum",
- };
- char SPtypes[2][50] = {
- "Z wyroznieniem 75CK",
- "Bez wyroznienia 25CK",
- };
- char GIMtypes[4][50] = {
- "Z wyroznieniem 200CK"
- "Bez wyroznienia 100CK",
- "Z laureatem olimpiady 500CK"
- };
- char LOtypes[3][50] = {
- "Z wyroznieniem 500CK",
- "Bez wyroznienia 250CK",
- };
- char LPtypes[15][50] = {
- "Pol-Hist 20",
- "Mat-Fiz 500",
- "Mat-Inf 750",
- "Mat-Mat 600",
- "Biol-Chem 800",
- "Praw-Eko 100",
- "Pol-Hist z wyroznieniem 25",
- "Mat-Fiz z wyroznieniem 750",
- "Mat-Inf z wyroznieniem 1000",
- "Mat-Mat z wyroznieniem 1000",
- "Biol-Chem z wyroznieniem 1600",
- "Praw-Eko z wyroznieniem 200",
- };
- char uniwersytettypes[15][50] = {
- "dyplom ukonczenia",
- };
- char pliki [20][50] = {
- "Raport 11-21-312-1232.txt", // K
- "Connection 21-04-1998.log",
- "Raport 11-22-313-1292.txt", // K
- "Minecraft.exe",
- "Connection 22-04-1998.log",
- "Raport 11-23-314-1319.txt", // K
- "Internet explorer.exe",
- "Raport 11-24-315-1387.txt", // K
- "Projekt Gruzojad.doc",
- "Connection 23-04-1998.log",
- "Obrona pracy mag.rtf",
- "Raport 11-25-315-1495",
- "Connection 24-04-1998.log",
- };
- void printfwindow(int g, int b, int c, int d) {
- CPos(g, b);
- for (int i = b; i < c; i++)
- printf("%c", 219);
- for (int i = g; i < d; i++) {
- CPos(i, c);
- printf("%c", 219);
- CPos(i, b);
- printf("%c", 219);
- CPos(d, b);
- for (int j = b; j < c + 1; j++)
- printf("%c", 219);
- }
- }
- void Raport_11_21_312_1232_txt() {
- wholescr();
- CPos(1,1); qprintf("Dane scisle poufne, Wlasnosc FNAC");
- CPos(2,1); qprintf("dwudziesty pierwszy listopada 1998AD, trzysta osiemdziesiaty dzien");
- CPos(3,1); qprintf("dzialania FANC. Budzet stowarzyszenia wynosi 12391231241 kozdolarow");
- CPos(4,1); qprintf("na stan oddzialow sklada sie 12 000 zolniezy stacjonujacych w koszarach");
- CPos(5,1); qprintf("500 000 piechoty gotowej do mobilizacji w trzy dni");
- CPos(6,1); qprintf("Dzial polityki otrzymal nowe propozycje czlonkowstwa federacji");
- CPos(7,1); qprintf("Na liscie znajduje sie gruzja i rumunia, i choc wielkiego stezenia");
- CPos(8,1); qprintf("Cyganow/km^2, Rada decyduje sie przyjac te panstwa do Federacji");
- CPos(9,1); qprintf("Wcisnij dowolny klawisz aby wrocic do menu");
- }
- void Raport_11_22_312_1232_txt() {
- wholescr();
- CPos(1,1); qprintf("Dane scisle poufne, Wlasnosc FNAC");
- CPos(2,1); qprintf("Decyzja o przyjeciu nowych panstw odbyla sie w trybie przyspieszonym");
- CPos(3,1); qprintf("Rada byla jednomyslna co do pomocy tym panstwom. Terminy deportacji");
- CPos(4,1); qprintf("sa jeszcze nieznane, choc juz wiadomo, ze ludnosc latwo sie nie podda");
- CPos(5,1); qprintf("Rada wydala rozkaz mobilizacji zolnierzy, rozkaz zostal wykonany");
- }
- void Raport_11_23_312_1232_txt() {
- wholescr();
- CPos(1,1); qprintf("Dane scisle poufne, Wlasnosc FNAC");
- CPos(2,1); qprintf("Raport na dwudziestego trzeciego listopada 1998AD");
- CPos(3,1); qprintf("Decyzja o deportacji zostala podjeta. Rada zarzadala mobilizacji");
- CPos(4,1); qprintf("wszystkich dostepnych sil. Sytuacja w panstwach docelowych jest");
- CPos(5,1); qprintf("Krytyczna. Moj oddzial otrzymal rozkazy ze jutro wyruszaja");
- CPos(6,1); qprintf("do strefy \"C\", gdzie ilosc cyganow przekracza 10000/1km^2");
- CPos(7,1); qprintf("Jako oddzial szturmowy bez wachania przyjeli rozkaz bez cienia");
- CPos(8,1); qprintf("strachu. W koncu ktos musi walczyc o lepsze jutro");
- }
- void Raport_11_24_312_1232_txt() {
- wholescr();
- CPos(1,1); qprintf("Dane scisle poufne, Wlasnosc FNAC");
- CPos(2,1); qprintf("Oddzial szurmowy zostal rozgromiony. Ponieslilmy wielkie straty");
- CPos(3,1); qprintf("Dziewiecdziesiat ze stu osob z oddzialu ponioslo smierc na miejscu");
- CPos(4,1); qprintf("Pozostala dziesiatka przez wiele miestecy bedzie sie zmagac z problemami");
- CPos(5,1); qprintf(",a pelna sprawnosc psychiczna prawdopodobnie nigdy nie powroci");
- }
- long long int sellpatelnia;
- long long int buytabor;
- long long int gruz = 100;
- long long int menupoz = 1;
- char sel;
- long long int tabor = 200;
- long long int wozki = 5;
- int citypoz[2][24];
- int warqprintf(const char* fmt, int a) {
- int len=strlen(fmt);
- for (int x=0; x<len; x++) {
- printf("%c", fmt[x]);
- if (!kbhit())Sleep(a);
- }
- return 1;
- }
- int qprintf(const char* fmt) {
- return warqprintf(fmt, 10);
- }
- char stragan[20][40] = {
- " /////////////////////////////",
- "/////////////////////////////|",
- "| |",
- "| #### |",
- "| # # |",
- "| # @ @ # |",
- "| # # |",
- "| # == # |",
- "| #### |",
- "| || |",
- "##############################",
- "##############################",
- };
- char market[70][70] = {
- "42d2222222d2222d2222222d2222d2222222d2222d2222222d2222d2222222d25",
- "1 b b b b b b b b b b 1",
- "1 b g b b g b b g b b g b b g b 1",
- "1 b rhw b b rhw b b rhw b b rhw b b rhw b 1",
- "1 b r w b b r w b b r w b b r w b b r w b 1",
- "1 lllllllll lllllllll lllllllll lllllllll lllllllll 1",
- "1 1",
- "tttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttt1",
- "tttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttt1",
- "tttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttt1",
- "tttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttt1",
- "tttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttt1",
- "tttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttt1",
- "1 1",
- "1 lllllllll lllllllll lllllllll lllllllll lllllllll 1",
- "1 b b b b b b b b b b 1",
- "1 b g b b g b b g b b g b b g b 1",
- "1 b rhw b b rhw b b rhw b b rhw b b rhw b 1",
- "1 b r w b b r w b b r w b b r w b b r w b 1",
- "32k2222222k2222k2222222k2222k2222222k2222k2222222k2222k2222222k26",
- };
- char pojazd[18][18] = {
- "#############",
- "# #",
- "# #",
- "#############",
- };
- char citymap[50][50] = {
- " 1 --- 2 --- 3 --- 4 ",
- " / \\ / \\ / \\ / \\ ",
- " / \\ / \\ / \\ / \\ ",
- " 5 --- 6 --- 7 --- 8 --- 9 ",
- " / \\ / \\ / \\ / \\ / \\ ",
- " / \\ / \\ / \\ / \\ / \\",
- "a --- b --- c --- d --- e --- f ",
- " \\ / \\ / \\ / \\ / \\ /",
- " \\ / \\ / \\ / \\ / \\ / ",
- " g --- h --- i --- j --- k ",
- " \\ / \\ / \\ / \\ / ",
- " \\ / \\ / \\ / \\ / ",
- " l --- m --- n --- o ",
- };
- char polaczenia[35][35] = {
- "123456789abcdefghijklmno",
- "265zzz", // 1
- "1367zz", // 2
- "2487zz", // 3
- "389zzz", // 4
- "16abzz", // 5
- "1257bc", // 6
- "2368cd", // 7
- "3479de", // 8
- "48efzz", // 9
- "5bgzzz", // a
- "56acgh", // b
- "67bdhi", // c
- "78ceij", // d
- "89dfjk", // e
- "93kzzz", // f
- "abhlzz", // g
- "bcgilm", // h
- "cdhjmn", // i
- "deiknp", // j
- "efjozz", // k
- "ghmzzz", // l
- "lhinzz", // m
- "ijmozz", // n
- "jknzzz", // o
- };
- short nazwymiast[24];
- char menu[25][25] = {
- "gielda", "szaman", "kopalnia", "miasto", "komputer", "laboratorium", "Kolejny dzien", "ustawienia", "FTG"
- };
- char sklepik[25][25] = {
- "kup cygana", "sprzedaj cygana", "kup tabor", "czarny rynek", "sprzedaj gruz", "wyjdz"
- };
- //BEGINWS
- template<typename T>
- int lwsselect(int xpos, int ypos, int ile, T it) {
- CPos(xpos, ypos-1); printf("%c", 26);
- int szer=0;
- char key, poz;
- bool czysc=true;
- if (ile<0) {
- czysc=false;
- ile*=-1;
- }
- std::vector<const char*> v;
- for (poz=0; poz<ile; poz++) {
- v.push_back(*(it++));
- szer=std::max<size_t>(szer, strlen(v.back()));
- }
- for (poz=0; poz<ile; poz++) {
- CPos(xpos+poz, ypos);
- printf("%-*s", szer, v[poz]);
- }
- poz = 0;
- for (;;) {
- CPos(0, 0);
- Sleep(1);
- if (_kbhit()) {
- key = _getch();
- if (key == 'e') {
- break;
- }
- if (key == 'w' && poz > 0) poz--;
- if (key == 's' && poz < ile-1) poz++;
- if (poz > 0) {
- CPos(poz+xpos-1, ypos-1);
- printf(" ");
- }
- CPos(poz+xpos, ypos-1);
- printf("%c", 26);
- if (poz < ile-1) {
- CPos(poz+xpos+1, ypos-1);
- printf(" ");
- }
- }
- }
- if (czysc)
- while(ile--) {
- CPos(xpos+ile, ypos-1);
- for (i=0; i<=szer; i++)
- printf(" ");
- }
- return poz;
- }
- int vwsselect(int xpos, int ypos, int ile, va_list vv) { // ujemne ile powoduje nieczyszczenie
- int nile=std::abs(ile);
- std::vector<const char*> v;
- while(nile--)
- v.push_back(va_arg(vv, const char*));
- return lwsselect(xpos, ypos, ile, v.begin());
- }
- int wsselect(int xpos, int ypos, int ile, ...) { // ujemne ile powoduje nieczyszczenie
- va_list vv;
- va_start(vv, ile);
- int ret=vwsselect(xpos, ypos, ile, vv);
- va_end(vv);
- return ret;
- }
- //ENDWS
- bool startswith(const char* dlugie, const char* krotkie) {
- while (*krotkie)if(*(dlugie++)!=*(krotkie++))break;return!*krotkie;
- }
- void buffersink() {
- while(_kbhit())_getch();
- }
- int targuj(int cena) {
- if (cena == 0) return 0;
- if (cena > hajsnarynek) return hajsnarynek-cena;
- int mincena=rand() % (int)ceil(cena/2) + ceil(cena/10);
- int maxcena=rand()%cena+cena;
- CPos(1, 41);
- printf("Sprzedawca chce %-22d", cena);
- while (wsselect(2,42,2,"ok biore","za drogo")) {
- CPos(2, 41);
- if (cena < maxcena && (rand()%100 < 40 || cena <= mincena)) {
- printf("Co? Nie pasuje? To dam w gore");
- cena += rand()%(maxcena-cena)+1;
- }
- else {
- printf("Moze faktycznie troche drogo");
- cena -= rand()%(cena-mincena)+1;
- }
- Sleep(5000);
- CPos(2, 41);
- printf(" ");
- CPos(1, 41);
- printf("Sprzedawca chce %-4d", cena);
- }
- CPos(1, 41);
- printf(" ");
- return cena;
- }
- const char* itemnapis(const char* nazwa, int ile) {
- std::stringstream ss;
- ss << nazwa << " [" << ile << "x]";
- char* napis = new char[ss.str().size()];
- int i;
- for (i = 0; ss.str()[i]; i++)
- napis[i] = ss.str()[i];
- napis[i] = '\0';
- return napis;
- }
- void dodajdoitemu(int id, int ile) {
- char* napis = (char*)itemki[id];
- int ile2, i;
- for (i=0; napis[i] != '['; i++);
- napis[i-1] = '\0';
- sscanf(napis + i, "[%dx]", &ile2);
- ile += ile2;
- const char* oldptr = itemki[id];
- if (ile <= 0)
- itemki.erase(itemki.begin() + id);
- else
- itemki[id] = itemnapis(napis, ile);
- delete[] oldptr;
- }
- void dodajitem(const char* nazwa, int ile) {
- unsigned int i;
- for (i=0; i<itemki.size(); i++)
- if (startswith(itemki[i], nazwa)) {dodajdoitemu(i, ile);
- return;}
- itemki.push_back(itemnapis(nazwa, ile));
- }
- void kupowanie_dyplomy() { //TODO
- int typ, dyp = lwsselect(1, 42, 7, dyplomtype);
- if (dyp == 0) {
- typ = lwsselect(1, 42, 2, SPtypes);
- CPos(1, 41); qprintf("Wybrales dyplom SP nr ");
- printf("%d", typ);
- }
- else if (dyp == 1) {
- typ = lwsselect(1, 42, 3, GIMtypes);
- CPos(1, 41); qprintf("Wybrales dyplom GIM nr ");
- printf("%d", typ);
- }
- else if (dyp == 2) {
- typ = lwsselect(1, 42, 2, LOtypes);
- CPos(1, 41); qprintf("Wybrales dyplom LO nr ");
- printf("%d", typ);
- }
- else if (dyp == 3) {
- typ = lwsselect(1, 42, 12, LPtypes);
- CPos(1, 41); qprintf("Wybrales dyplom LP nr ");
- printf("%d", typ);
- }
- else if (dyp == 4) {
- typ = lwsselect(1, 42, 1, uniwersytettypes);
- CPos(1, 41); qprintf("Wybrales dyplom uni nr ");
- printf("%d", typ);
- }
- }
- void kupowanie(int type) { //TODO
- int heis;
- CPos(1, 41);
- if(type == 0) {
- qprintf("Tanie zegarki prosto od Nowaka");
- Sleep(3000);
- if ((heis = targuj(800))<0) return;
- hajsnarynek -= heis;
- dodajitem("rolex", 16);
- }
- if(type == 1) {
- qprintf("Takie gry to nie w kasze dmuchal");
- Sleep(3000);
- if ((heis = targuj(110))<0) return;
- hajsnarynek -= heis;
- dodajitem("MinecraftPremium", 2);
- }
- if(type == 2) {
- qprintf("Noze miecze inne takie");
- Sleep(3000);
- if ((heis = targuj(97))<0) return;
- hajsnarynek -= heis;
- dodajitem("kosa ze skinem", 3);
- }
- if(type == 3) {
- qprintf("Smeuk wedd evridei");
- Sleep(3000);
- if ((heis = targuj(90))<0) return;
- hajsnarynek -= heis;
- dodajitem("zio\210o", 40);
- }
- if(type == 4) {
- qprintf("Classic: HeraKoka#LSD");
- Sleep(3000);
- if ((heis = targuj(100))<0) return;
- hajsnarynek -= heis;
- dodajitem("drugz", 20);
- }
- if(type == 5) {
- qprintf("Nokia 3310i");
- Sleep(3000);
- if ((heis = targuj(1030))<0) return;
- hajsnarynek -= heis;
- dodajitem("nokia", 3);
- }
- if(type == 6) {
- qprintf("Wyborczej nie ma");
- Sleep(3000);
- if ((heis = targuj(20))<0) return;
- hajsnarynek -= heis;
- dodajitem("UwarzamIrz", 3);
- }
- if(type == 7) {
- qprintf("Dokumenty prosze XD");
- Sleep(3000);
- if ((heis = targuj(93))<0) return;
- hajsnarynek -= heis;
- dodajitem("legitymacja", 80);
- }
- if(type == 8) {
- qprintf("Tynk, czyli cyganski koks");
- Sleep(3000);
- if ((heis = targuj(200))<0) return;
- hajsnarynek -= heis;
- dodajitem("tynk", 80);
- }
- if(type == 9) {
- qprintf("Bimber cyganski");
- Sleep(3000);
- if ((heis = targuj(100))<0) return;
- hajsnarynek -= heis;
- dodajitem("alko", 20);
- }
- if(type == 10) {
- qprintf("Postrzelasz sobie");
- Sleep(3000);
- if ((heis = targuj(1500))<0) return;
- hajsnarynek -= heis;
- dodajitem("AKA47+", 2);
- }
- if(type == 11) kupowanie_dyplomy();
- if(type == 12) {
- qprintf("Lowelku, jedz!");
- Sleep(3000);
- if ((heis = targuj(1500))<0) return;
- hajsnarynek -= heis;
- dodajitem("rower", 2);
- }
- }
- char projekty[25][25] = {
- "ulepszone kilofy", "BHP"
- };
- char gruzwydob[25][25] = {
- "Metalowe ostrze", "Trzonek z amelinium", "Podwojne ostrze", "Kilof GPU", "Overclockowany procesor", "Multithreading", "Superpoycja gruzowa", "Rek. zagl. kopalni", "Dynamiczna rekurencja", "Kopalnia Fobbonacciego"
- };
- char gruzwydobe[25][25] = {
- "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"
- };
- int gruzwydobp[11] = {
- 100, 250, 750, 2500, 5000, 15000, 60000, 120000, 5000000, 10000000
- };
- int gruzwydobd[11] = {
- 10, 30, 100, 365, 666, 2000, 7000, 14000, 28000, 50000
- };
- char bhp[25][25] = {
- "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"
- };
- char bhpe[25][25] = {
- "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"
- };
- int bhpp[11] = {
- 100, 250, 750, 2500, 5000, 15000, 60000, 1200000, 500000000, 1000000000
- };
- int bhpd[11] = {
- 10, 30, 100, 365, 666, 2000, 7000, 140000, 2800000, 50000000
- };
- void wholescr() {
- for (int i = 1; i < 24; i++) {
- CPos(i, 1);
- printf(" ");
- }
- }
- void setcolor(unsigned short int color) {
- SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), color);
- }
- char tekst[100] = {
- "faster than gruz"
- };
- char cygan[6][6] = {
- " t ",
- "/|\\",
- "/ \\",
- };
- char wagon[30][30] = {
- "####################",
- "# #",
- "# #",
- "# #",
- "# #",
- "# #",
- "# #",
- "# #",
- "# #",
- "# #",
- "####################",
- };
- char logo[100][100] = {
- "############### ################### ###############",
- "############### ################### ###############",
- "############### ################### ##### #####",
- "##### ##### #####",
- "##### ##### #####",
- "########## ##### #####",
- "########## ##### ##### #######",
- "########## ##### ##### ####### ",
- "##### ##### ##### #####",
- "##### ##### ############### ",
- "##### ##### ############### ",
- "##### ##### ###############",
- };
- void blackmarketintro() {
- if(blackmarketshow == false)
- {
- blackmarketshow = true;
- wholescr();
- CPos(1, 1);
- printf("Wchodzisz na czarny rynek. To miejsce slynie z braku wszelkich");
- CPos(2, 1);
- printf("zasad handlu. Tu mozesz kupic wszystko: od gruzu, po bron.");
- CPos(3, 1);
- printf("O kazda cene mozesz sie targowac, jednak uwazaj zeby nie obrazic");
- CPos(4, 1);
- printf("tym sprzedawcy. Tutaj plotki niosa sie szybko, a negatywny stosunek do ciebie");
- CPos(5, 1);
- printf("na pewno skonczy sie wyzszymi cenami, a moze doprowadzic do twojej smierci");
- CPos(7, 1);
- printf("Po targu poruszasz sie klawiszami w,s,a,d. ");
- CPos(8, 1);
- printf("Zeby rozmiawiac ze sprzedawca wcisnij e");
- CPos(9, 1);
- printf("Wowczas pokazane zostana mozliwosci dialogu. ");
- CPos(10, 1);
- printf("Zeby zobaczyc swoj plecak nacisnij q");
- CPos(11, 1);
- printf("Pokazane zostana ci rzeczy ktore masz przy sobie i w swoim taborze");
- CPos(12, 1);
- printf("Gdy zostaniesz porwany, spedzisz tydzien w piwnicy,");
- CPos(13, 1);
- printf("a twoi cyganie beda musieli zaplacic okup");
- CPos(14, 1);
- printf("Jesli zostaniesz zabity, badz cyganom nie starczy na okup, gra sie konczy");
- CPos(16, 1);
- printf("Na mapie jestes oznaczony kolorem niebieskim, sprzedawcy zielonym");
- CPos(17, 1);
- printf("Klienci szarym");
- CPos(18, 1);
- printf("Ta wiadomosc wiecej sie nie wyswietli,");
- CPos(20, 1);
- printf("jesli jednach chcesz ja przeczytac kiedy indziej");
- CPos(21, 1);
- printf("Skorzystaj z Pomocy w menu glownym (Ktore zakodze! Soon(tm))");
- CPos(22, 1);
- printf("Wcisnij dowolny klawisz aby wejsc na market");
- buffersink();
- _getch();
- }
- }
- void jestorniejestcyganem(int rozmowca) {
- if(cyganstwo[rozmowca] == 1)
- { CPos(1,41); qprintf("Urodzilem sie w federacji. Od dziecka");
- CPos(2,41); qprintf("uczono mnie nienawisci do cyganow.");
- CPos(3,41); qprintf("Gdy mialem 18 lat zostalem mlodszym");
- CPos(4,41); qprintf("zabojca cyganow. zabilem ich kilka");
- CPos(5,41); qprintf("tysiecy, i do dzis pragne ich krwi.");
- CPos(6,41); qprintf("W wieku 25 lat ozenilem sie z piekna");
- CPos(7,41); qprintf("kobieta i mialem trojke dzieci");
- CPos(8,41); qprintf("niestety musialem ich wszystkich");
- CPos(9,41); qprintf("zabic poniewaz moja zona byla cyganka.");
- CPos(10,41); qprintf("Teraz blakam sie po swiecie jako");
- CPos(11,41); qprintf("handlarz szukajac cyganów do zabicia");
- CPos(12,41); printf("Wcisnij dowolny klawisz zeby wrocic");}
- if(cyganstwo[rozmowca] == 2)
- { CPos(1,41); qprintf("Urodzilem sie w gruzolandzie, ale");
- CPos(2,41); qprintf("ucieklem z tamtad jak tylko mialem");
- CPos(3,41); qprintf("18 lat. Znalezienie mieszkania");
- CPos(4,41); qprintf("i pracy na terenie federacji bylo");
- CPos(5,41); qprintf("prawie niemozliwe, poniewaz");
- CPos(6,41); qprintf("z pochodzdenia bylem cyganem");
- CPos(7,41); qprintf("a z wyksztalcenia kopaczem gruzu.");
- CPos(8,41); qprintf("I moze nie nienawidze ich tak bardzo");
- CPos(9,41); qprintf("Zeby od razu zaczac zabijac, ale jak");
- CPos(10,41); qprintf("Tylko jakiegos znajde to chetnie");
- CPos(11,41); qprintf("Ugoszcze go w mojej piwnicy");
- CPos(12,41); printf("Wcisnij dowolny klawisz zeby wrocic");}
- if(cyganstwo[rozmowca] == 3){
- CPos(1,41); qprintf("Nie obchodzi mnie czy ktos jest, czy");
- CPos(2,41); qprintf("Nie jest cyganem. Kiedys cygan byl");
- CPos(3,41); qprintf("moim sasiadem. W sumie fajny koles.");
- CPos(4,41); qprintf("Czesto czestowal mnie gruzem. ");
- CPos(5,41); printf("Wcisnij dowolny klawisz zeby wrocic");}
- if(cyganstwo[rozmowca] == 4) {
- CPos(1,41); qprintf("Lubie cyganow. Nie mam nic przeciwko");
- CPos(2,41); qprintf("nim i uwazam ze FNAC robi zle rzeczy.");
- CPos(3,41); qprintf("Przeciez kazdy moze robic co chce,");
- CPos(4,41); qprintf("nawet jesli chodzi o jedzenie gruzu");
- CPos(5,41); printf("Wcisnij dowolny klawisz zeby wrocic");}
- if(cyganstwo[rozmowca] == 5) {
- CPos(1,41); qprintf("(szepcze do twojego ucha) Wiesz pan,");
- CPos(2,41); qprintf("w tych czasach nie powinienem tego");
- CPos(3,41); qprintf("mowic ale ja jestem cyganem. Uwazam ze");
- CPos(4,41); qprintf("cyganie powinni walczyc z FNAC ale");
- CPos(5,41); qprintf("nie ma osoby ktora moglaby zjednoczyc");
- CPos(6,41); qprintf("wszystkich cyganow by sprzeciwic sie");
- CPos(7,41); qprintf("federacji");
- CPos(8,41); printf("Wcisnij dowolny klawisz zeby wrocic");
- }
- buffersink();
- _getch();
- for(int i = 0 ; i < 15; i++)
- {
- CPos(i+1,41);
- printf(" ");
- }
- }
- void secretdata() {
- wholescr();
- setcolor(10);
- for(int i = 0 ; i < 15 ; i++)
- {
- CPos(i+5,25);
- for(int j = 0 ; j < 30; j++)
- if(logoFNAC[i][j] == 'Q')
- printf("%c", 219);
- else
- printf("%c", logoFNAC[i][j]);
- }
- CPos(3,21); qprintf("Federacja Narodow Anty Cyganskich");
- CPos(21,25);
- printf("%c", 201);
- for(int i = 0 ; i < 23; i++)
- printf("%c", 205);
- printf("%c", 187);
- CPos(22,25); printf("%c", 186);
- CPos(22,49); printf("%c", 186);
- CPos(23,25);
- printf("%c", 200);
- for(int i = 0 ; i < 23; i++)
- printf("%c", 205);
- printf("%c", 188);
- CPos(22,26); warqprintf("* * * * * * * *", 50);
- Sleep(500);
- CPos(22,26); qprintf(" ACCESS GRANTED ");
- Sleep(500);
- const char* prompt="hakier@localhost:~$ "; // debian; for redhat: "[hakier@localhost ~]$ "
- int iter=0;
- for (int i = 0; i < 15; i++) {
- if (pliki[i][0]!='R') continue;
- wholescr();
- CPos(1,1);
- printf("%s", prompt);
- if (iter == 0) {
- Sleep(500);
- warqprintf("sudo ls -1", 100);
- }
- else
- printf("sudo ls -1");
- for(int j = 0 ; j < 15; j++) {
- CPos(j+2,3);
- printf("%s", pliki[j]);
- }
- int iter2 = 0;
- CPos(17, 1);
- for (int j = 0; j < i; j++) {
- if (pliki[j][0]!='R') continue;
- printf("%s", prompt);
- printf("sudo less '%s'", pliki[j]);
- iter2++;
- CPos(17+iter2, 1);
- }
- printf("%s", prompt);
- Sleep(500);
- if (iter == 4) {
- warqprintf("exit", 100);
- CPos(22, 1);
- printf("logout");
- CPos(23, 1);
- Sleep(2000);
- return;
- }
- else {
- warqprintf("sudo less '", 100);
- warqprintf(pliki[i], 100);
- printf("'");
- }
- Sleep(500);
- buffersink();
- if (iter==0)
- Raport_11_21_312_1232_txt();
- if (iter==1)
- Raport_11_22_312_1232_txt();
- if (iter==2)
- Raport_11_23_312_1232_txt();
- if (iter==3)
- Raport_11_24_312_1232_txt();
- buffersink();
- _getch();
- iter++;
- }
- }
- int zkimgadam(int xpoz,int ypoz) {
- if(xpoz <10)
- {
- if(ypoz > 5 && ypoz < 9) return 0;
- if(ypoz > 18 && ypoz < 22) return 1;
- if(ypoz > 31 && ypoz < 35) return 2;
- if(ypoz > 44 && ypoz < 48) return 3;
- if(ypoz > 57 && ypoz < 61) return 4;
- }
- else
- {
- if(ypoz > 5 && ypoz < 9) return 5;
- if(ypoz > 18 && ypoz < 22) return 6;
- if(ypoz > 31 && ypoz < 35) return 7;
- if(ypoz > 44 && ypoz < 48) return 8;
- if(ypoz > 57 && ypoz < 61) return 9;
- }
- return 0;
- }
- void deathscreen() {
- wholescr();
- setcolor(10);
- CPos(2,10); printf(" ############### ");
- CPos(3,10); printf(" ### ######### ### ");
- CPos(4,10); printf(" ### ####### ### ");
- CPos(5,10); printf(" ### ######### ### ");
- CPos(6,10); printf(" ###### ###### ");
- CPos(7,10); printf(" ##### ##### ");
- CPos(8,10); printf(" ############# ");
- CPos(9,10); printf(" # # # # # # ");
- CPos(10,10);printf(" ######### ");
- CPos(12,7);qprintf("Game over, synu. Przegrales. Jakze mi przykro!");
- CPos(13,7);qprintf(" DLC: respawn jedyne 4$, juz na steam.");
- buffersink();
- _getch();
- // Sleep(2000);
- }
- void winscreen() {
- wholescr();
- setcolor(10);
- CPos(3,18); printf(" # ### # ");
- CPos(4,18); printf(" # ## ## # ");
- CPos(5,18); printf(" ## ## ## ## ");
- CPos(6,18); printf(" ## ### ### ### ## ");
- CPos(7,18); printf(" ### ## ####### ## ### ");
- CPos(8,18); printf(" ### # ## ####### ## # ### ");
- CPos(9,18); printf(" #### ### ### # # ### ### #### ");
- CPos(10,18);printf(" #### ## ## # # ## ## #### ");
- CPos(11,18);printf(" ################################# ");
- CPos(12,18);printf(" # . . . . .---. --. . . . . # ");
- CPos(13,18);printf(" # | | | | | ' | | | | | | # ");
- CPos(14,18);printf(" # | | | '.' | _ |-' '.' | | | # ");
- CPos(15,18);printf(" # | | | | | | | | | | | | # ");
- CPos(16,18);printf(" # -'- ' '---' ' ' ' -'- # ");
- CPos(17,18);printf(" ################################# ");
- CPos(20,22);qprintf("Wygrales, synu. Moje gratulacje.");
- CPos(21,20);qprintf("Wiecej rozrywki znajdziesz w FTG2 :)");
- buffersink();
- _getch();
- #ifdef __WIN32
- system("start http://www.facebook.com/FasterThanGruz");
- #else
- system("xdg-open http://www.facebook.com/FasterThanGruz");
- #endif
- // Sleep(2000);
- }
- void gadaj() {
- char key;
- int rozmowca = zkimgadam(xpoz, ypoz);
- wholescr();
- for(int i = 1 ; i < 24 ; i++)
- {
- CPos(i, 40);
- printf("%c", 219);
- }
- for(int i = 0 ; i < 15 ; i++)
- {
- CPos(i+1,1);
- printf("%s", stragan[i]);
- }
- CPos(14,1);
- printf("Witaj, synu. Nazywam sie:");
- CPos(15,1);
- if (imie[rozmowca][0]<specialnames)
- setcolor(11);
- printf("%s %s", imiona[imie[rozmowca][0]], nazwiska[imie[rozmowca][1]]);
- setcolor(7);
- CPos(16,1);
- printf("Sprzedaje: (%d)%s", blacktowar[rozmowca], towary[blacktowar[rozmowca]]);
- CPos(17,1);
- printf("1: Pokaz mi co sprzedajesz");
- CPos(18,1);
- printf("2: Powiedz mi cos o sobie");
- CPos(19,1);
- printf("3: Czy wiesz co sie dzieje na swiecie?");
- CPos(20,1);
- printf("4: (Sproboj zwerbowac do taboru)");
- CPos(21,1);
- printf("5: (Kradnij)");
- CPos(22,1);
- printf("6: Nie, dziekuje");
- CPos(23,1);
- printf("7: Ty glupi smieciu jestes glupi");
- for(;;)
- {
- for(;;) { key = _getch(); if(key > '0' && key < '8') break; }
- for(int i = 0 ; i < 15; i ++)
- {
- CPos(i+1, 41);
- printf(" ");
- }
- if(key == '1') kupowanie(blacktowar[rozmowca]);
- if(key == '2') jestorniejestcyganem(rozmowca);
- if(key == '3') {
- CPos(1,41); qprintf("Jeszcze nie wiem XD"); //TODO
- }
- if(key == '4')
- {
- if(bylpytany[rozmowca] && lubienie[rozmowca] != 5)
- {
- CPos(1,41); qprintf("Mowilem zebys nie pytal dwa");
- CPos(2,41); qprintf("razy");
- setcolor(12);
- CPos(6,13); printf("\\ /");
- setcolor(7);
- lubienie[rozmowca]--;
- }
- else
- {if(cyganstwo[rozmowca] == 5) lubienie[rozmowca] = 5;
- if(cyganstwo[rozmowca] == 4) { if(rand()%2 == 0) lubienie[rozmowca] = 5; else bylpytany[rozmowca] = true;}
- if(cyganstwo[rozmowca] == 3) bylpytany[rozmowca] = true;
- if(cyganstwo[rozmowca] == 2) { lubienie[rozmowca] = 0; if(rand()%2 == 0) zapiwniczenie+=7; }
- if(cyganstwo[rozmowca] == 1) { if(rand()%2 == 0) zapiwniczenie += 7; else dead = true;}
- if(lubienie[rozmowca] == 5)
- {
- CPos(1,41); qprintf("Bracie, jak tylko skoncze prace");
- CPos(2,41); qprintf("dolacze do twojego taboru.");
- CPos(3,41); qprintf("A teraz mozesz kupic wszystko");
- CPos(4,41); qprintf("za 20% ceny");
- setcolor(10);
- CPos(6,13); printf("^ ^");
- setcolor(7);
- }
- if(bylpytany[rozmowca])
- {
- CPos(1,41); qprintf("Niestety nie, nawet nie proboj");
- CPos(2,41); qprintf("pytac ponownie, bo i tak sie");
- CPos(3,41); qprintf("nie zgodze");
- }
- if(zapiwniczenie > 1)
- {
- CPos(1,41); qprintf("Ty cyganski smieciu, bedziesz");
- CPos(2,41); qprintf("tydzien gnil w mojej piwnicy");
- CPos(3,41); qprintf("i modl sie zeby twoi cyganie");
- CPos(4,41); qprintf("zaplacili okup bo inaczej zginiesz");
- }
- }
- Sleep(2000);
- for(int i = 0 ; i < 15; i ++)
- {
- CPos(i+1, 41);
- printf(" ");
- }
- }
- if (key == '5') {
- CPos(1,41); qprintf("Masz za malo skilla na kradziez"); //TODO
- }
- if (key == '6') break;
- if (key == '7') {
- CPos(1,41); qprintf("Wyzywam cie na pojedynek.");
- CPos(2,41); qprintf("(Ktory zakodze! Soon(tm))"); //TODO
- }
- if(dead || zapiwniczenie > 0) break;
- }
- }
- void piwnica() {
- wholescr();
- CPos(1,1); qprintf("Sprzedawca: posiedzisz tu sobie, az zaplacisz!");
- CPos(2,1); printf("Sprzedawca chce %d hajsu", 5*hajsnarynek);
- CPos(3,1); warqprintf("........", 1000);
- CPos(4,1); printf("%d", zapiwniczenie);
- qprintf(" dni pozniej");
- CPos(5,1);
- hajs-=5*hajsnarynek;
- if (hajs>=0) {
- qprintf("Sprzedawca: jestes wolny, miales szczescie ze kocham zloto");
- }
- else {
- qprintf("Niestety musisz zginac! Jakze mi przykro, synu");
- dead=true;
- }
- Sleep(2000);
- zapiwniczenie=0;
- wholescr();
- printftabor();
- printfgielda();
- printfceny();
- }
- void generujmarket() {
- int cyganstwoszansa;
- for(int i = 0 ; i < 10; i++)
- {
- lubienie[i] = 4;
- blacktowar[i]= (rand()%13); // 12-i
- if (rand()%5 == 0)
- imie[i][0] = imie[i][1] = rand()%specialnames;
- else {
- imie[i][0] = (rand()%32)+specialnames;
- imie[i][1] = (rand()%20)+specialnames;
- }
- cyganstwoszansa = (50-rand()%100)+citygipsyness[citynum];
- cyganstwo[i] = (cyganstwoszansa+120)/40;
- }
- }
- void blackblack(int i, int j) {
- int rozmowca;
- CPos(i+1,j+1);
- if(market[i][j] == '1') printf("%c", 186);
- if(market[i][j] == '2') printf("%c", 205);
- if(market[i][j] == '3') printf("%c", 200);
- if(market[i][j] == '4') printf("%c", 201);
- if(market[i][j] == '5') printf("%c", 187);
- if(market[i][j] == '6') printf("%c", 188);
- if(market[i][j] == 't') printf("%c", 178);
- if(market[i][j] == 'l') printf("#");
- if(market[i][j] == 'b') printf("%c", 186);
- if(market[i][j] == 'd') printf("%c", 203);
- if(market[i][j] == 'k') printf("%c", 202);
- if(market[i][j] == ' ') printf(" ");
- setcolor(11);
- rozmowca=zkimgadam(i,j+1);
- if (lubienie[rozmowca]==5) setcolor(10);
- if (lubienie[rozmowca]<3) setcolor(12);
- if(market[i][j] == 'g') printf("%c", 1);
- if(market[i][j] == 'r') printf("/");
- if(market[i][j] == 'w') printf("\\");
- if(market[i][j] == 'h') printf("|");
- setcolor(7);
- }
- void printfmarket() {
- wholescr();
- for(int i = 0 ; i < 30 ; i ++)
- for(int j = 0 ; j < 70 ; j ++)
- blackblack(i, j);
- }
- void plecak() {
- wholescr();
- int i, j;
- CPos(1, 1);
- printf("Witaj w plecaku! Oto twoje itemki:");
- for(;;) {
- CPos(2, 1);
- printf("Masz przy sobie %d hajsu ", hajsnarynek);
- itemki.push_back("wroc");
- i = lwsselect(3, 2, itemki.size(), itemki.begin());
- itemki.pop_back();
- if ((unsigned int)i == itemki.size())
- break;
- j = wsselect(3, 2, 3, "uzyj", "dropnij", "wroc");
- if (j == 2) continue;
- if (j == 1) {delete[] itemki[i];itemki.erase(itemki.begin()+i);continue;}
- if (startswith(itemki[i], "kosa")) {
- CPos(2, 40);
- qprintf("Uuuuaaazzzaaaaa! KOSA MI DROP\235A!!");
- Sleep(2000);
- CPos(2, 40);
- printf(" ");
- }
- if (startswith(itemki[i], "zio\210o")) {
- CPos(2, 40);
- qprintf("Smoke weed everyday, de-e-e-eeyyyyy");
- Sleep(2000);
- CPos(2, 40);
- printf(" ");
- setcolor(14);
- printfwindow(0, 0, 79, 24);
- setcolor(7);
- }
- if (startswith(itemki[i], "drugz")) {
- setcolor(10);
- printfwindow(0, 0, 79, 24);
- CPos(2, 40);
- warqprintf("HeraKoka#LSD ta zabawa po nocach", 50);
- CPos(3, 40);
- warqprintf("sie sni", 50);
- CPos(2, 40);
- warqprintf(" ", 50);
- CPos(3, 40);
- warqprintf(" ", 50);
- setcolor(7);
- }
- if (startswith(itemki[i], "rower")) {
- CPos(2, 40);
- warqprintf("O, o, o, jprdl wyjb\210em sie", 50);
- Sleep(2000);
- dead = true;
- }
- if (startswith(itemki[i], "AKA47+")) {
- CPos(2, 40);
- warqprintf("O, jprdl strzeli\210em nie w te strone", 50);
- Sleep(2000);
- dead = true;
- }
- if (startswith(itemki[i], "alko")) {
- CPos(2, 40);
- qprintf("Ta gra nie promuje picia alkoholu");
- Sleep(2000);
- }
- if (startswith(itemki[i], "rolex")) {
- CPos(2, 40);
- time_t czas2 = time(NULL);
- tm* czas = localtime(&czas2);
- printf("Jest godzina %02d:%02d:%02d", czas->tm_hour, czas->tm_min, czas->tm_sec);
- Sleep(2000);
- CPos(2, 40);
- printf(" ");
- }
- if (startswith(itemki[i], "tynk")) {
- CPos(2, 40);
- qprintf("O, cyganski koks... slaby");
- Sleep(2000);
- CPos(2, 40);
- printf(" ");
- }
- if (startswith(itemki[i], "Minecraft")) {
- CPos(2, 40);
- qprintf("O q*.*wa, creeper!!!");
- CPos(3, 40);
- if (hajsnarynek--)
- qprintf("Zabral mi 1 hajs");
- else hajsnarynek++;
- Sleep(2000);
- CPos(2, 40);
- printf(" ");
- CPos(3, 40);
- printf(" ");
- }
- if (startswith(itemki[i], "nokia")) {
- CPos(2, 40);
- qprintf("Zagra\210bym w snake'a ale bateria pad\210a");
- Sleep(2000);
- CPos(2, 40);
- printf(" ");
- }
- if (startswith(itemki[i], "UwarzamIrz")) {
- CPos(2, 40);
- qprintf("A co to za herezje?!");
- Sleep(2000);
- CPos(2, 40);
- printf(" ");
- }
- if (startswith(itemki[i], "legitymacja")) {
- CPos(2, 40);
- qprintf("Wytne z niej falszywke...");
- Sleep(2000);
- hajsnarynek += 1 << rand()%4;
- CPos(2, 40);
- printf(" ");
- }
- if (dead) return;
- dodajdoitemu(i, -1);
- }
- }
- void blackmarket() {
- int i;
- blackmarketintro();
- wholescr();
- if (hajs<blackoplata) {
- CPos(10, 15);
- printf("Masz mniej hajsu niz kosztuje wejscie na rynek (%d)", blackoplata);
- Sleep(5000);
- wholescr();
- printftabor();
- printfgielda();
- printfceny();
- return;
- }
- CPos(1, 1);
- printf("Ile cygocoinow chcesz zabrac? Oplata za wejscie wynosi %d", blackoplata);
- CPos(2, 1);
- printf("Mozesz zabrac do 999999999 cygocoinow, ale nie wiecej niz sam posiadasz");
- CPos(3, 1);
- printf("Potwierdz swoj wybor wciskajac e, jezeli chcesz usunac liczbe wcisnij q");
- CPos(4, 5);
- printf("%c%c%c%c%c%c%c%c%c%c%c", 201, 205, 205, 205, 205, 205, 205, 205, 205, 205, 187);
- CPos(5, 5);
- printf("%c0 %c", 186, 186);
- CPos(6, 5);
- printf("%c%c%c%c%c%c%c%c%c%c%c", 200, 205, 205, 205, 205, 205, 205, 205, 205, 205, 188);
- CPos(5, 6);
- char wyborhajsu[10];
- for (i = 0; i < 10; i++)
- wyborhajsu[i] = '0';
- char hajsytmp;
- int dlg = 0;
- i = 0;
- while (true) {
- for (; i < 9; i++) {
- for (;;) {
- hajsytmp = _getch();
- if ((hajsytmp > '0' && hajsytmp <= '9') || (i && hajsytmp == '0')) {
- wyborhajsu[i] = hajsytmp;
- dlg++;
- printf("%c", hajsytmp);
- break;
- }
- if (hajsytmp == 'q' && i > 0) {
- wyborhajsu[i--] = '0';
- CPos(5, 6 + i);
- printf("%c",i?' ':'0');
- CPos(5, 6 + i);
- dlg--;
- }
- if (hajsytmp == 'e') break;
- CPos(5, 6 + i);
- }
- if (hajsytmp == 'e') break;
- }
- hajsnarynek = 0;
- for (int k = 0; k < dlg; k++) {
- hajsnarynek *= 10;
- hajsnarynek += wyborhajsu[k] - '0';
- }
- if (hajsnarynek > hajs) hajsnarynek = hajs;
- if (hajsnarynek<blackoplata) {
- CPos(8,5);
- printf("Musisz wziac przynajmniej %d CK", blackoplata);
- }
- else break;
- }
- hajs -= hajsnarynek;
- hajsnarynek -= blackoplata;
- wholescr();
- CPos(10, 10);
- printf("Wchodzisz na czarny rynek, zabierasz ze soba %d cygocoinow", hajsnarynek);
- Sleep(2000);
- printfmarket();
- xpoz = 10;
- ypoz = 5;
- char keymove;
- for(;;)
- {
- keymove = _getch();
- 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' ))
- xpoz--;
- 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'))
- xpoz++;
- 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') )
- ypoz--;
- 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'))
- ypoz++;
- if(ypoz == 2)
- break;
- if(keymove == 'e')
- {
- 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'))
- {
- gadaj();
- if(dead || zapiwniczenie > 0) break;
- printfmarket();
- }
- }
- if(keymove == 'q')
- {
- plecak();
- if (dead) break;
- printfmarket();
- }
- int k , l;
- for(int i = 0 ; i < 5; i++)
- for(int j = 0 ; j < 5; j++)
- {
- l = xpoz-2;
- k = ypoz-2;
- k = k+i;
- l = l+j;
- blackblack(l-1, k-1);
- }
- for(int i = 0 ; i < 3; i++)
- for(int j = 0 ; j < 3; j++)
- {
- l = xpoz-1;
- k = ypoz-1;
- k = k+i;
- l = l+j;
- CPos(l,k);
- if(cygan[j][i] == 't')
- printf("%c", 1);
- else
- printf("%c", cygan[j][i]);
- }
- CPos(0,0);
- // CPos(30, 5); printf("pos=X%d, Y%d",xpoz,ypoz);
- }
- if(ypoz == 2)
- hajs += hajsnarynek;
- if(ypoz == 2 || dead || zapiwniczenie > 0)
- {
- wholescr();
- printftabor();
- printfgielda();
- printfceny();
- }
- }
- void clearwindow(int q, int b, int c, int d) {
- for (int j = b + 1; j < d; j++)
- for (int i = q + 1; i < c - 1; i++) {
- CPos(j, i);
- printf(" ");
- }
- }
- void bhpres() {
- CPos(10, 2);
- printf("%s", bhp[bhplvl - 1]);
- CPos(11, 2);
- printf("Cena w gruzie %d", bhpp[bhplvl - 1]);
- CPos(12, 2);
- printf("Czas w cyganoroboczodniach %d", bhpd[bhplvl - 1]);
- CPos(13, 2);
- printf("Efekt:");
- printf("%s", bhpe[bhplvl - 1]);
- CPos(14, 2);
- printf("r - zeby zaczac odkrywac, w - wyjdz");
- for (;;) {
- tmpsel = _getch();
- if (tmpsel == 'w') {
- CPos(4, 2);
- printf(" ");
- CPos(5, 2);
- printf(" ");
- CPos(6, 2);
- printf(" ");
- CPos(7, 2);
- printf(" ");
- CPos(8, 2);
- printf(" ");
- CPos(9, 2);
- printf(" ");
- CPos(10, 2);
- printf(" ");
- CPos(11, 2);
- printf(" ");
- CPos(12, 2);
- printf(" ");
- CPos(13, 2);
- printf(" ");
- CPos(14, 2);
- printf(" ");
- break;
- }
- if (tmpsel == 'r') {if (bhpp[bhplvl - 1] < gruz) {
- rschtask = 2;
- gruz = gruz - bhpp[bhplvl - 1];
- labwork = true;
- labtime = bhpd[bhplvl - 1];
- for (int i = 0; i < 25; i++)
- currsch[i] = bhp[bhplvl - 1][i];
- CPos(4, 2);
- printf(" ");
- CPos(5, 2);
- printf(" ");
- CPos(6, 2);
- printf(" ");
- CPos(7, 2);
- printf(" ");
- CPos(8, 2);
- printf(" ");
- CPos(9, 2);
- printf(" ");
- CPos(10, 2);
- printf(" ");
- CPos(11, 2);
- printf(" ");
- CPos(12, 2);
- printf(" ");
- CPos(13, 2);
- printf(" ");
- CPos(14, 2);
- printf(" ");
- break;
- } else {
- CPos(15, 2);
- printf("Sorry nie masz tyle gruzu, nacisnij dow. przycisk zeby kontynuowac");
- buffersink();
- _getch();
- CPos(4, 2);
- printf(" ");
- CPos(5, 2);
- printf(" ");
- CPos(6, 2);
- printf(" ");
- CPos(7, 2);
- printf(" ");
- CPos(8, 2);
- printf(" ");
- CPos(9, 2);
- printf(" ");
- CPos(10, 2);
- printf(" ");
- CPos(11, 2);
- printf(" ");
- CPos(12, 2);
- printf(" ");
- CPos(13, 2);
- printf(" ");
- CPos(14, 2);
- printf(" ");
- CPos(15, 2);
- printf(" ");
- }}
- }
- }
- void settings() {
- if (gipsynews == true) {
- CPos(14, 70);
- printf("T");
- } else {
- CPos(14, 70);
- printf("F");
- }
- CPos(12, 60);
- printf("^w vs e-zmien");
- CPos(13, 60);
- printf("Ustawieia");
- CPos(14, 60);
- printf("Gipsynews");
- CPos(15, 60); printf("Wyjdz");
- for (;;) {
- CPos(0,0);
- Sleep(1);
- if (_kbhit()) {
- selset = _getch();
- if (selset == 'w' && setpoz != 0) setpoz--;
- if (selset == 's' && setpoz < 1) setpoz++;
- if (selset == 'e' && setpoz == 1) {
- CPos(12, 59);
- printf(" ");
- CPos(13, 59);
- printf(" ");
- CPos(14, 59);
- printf(" ");
- CPos(15, 59);
- printf(" ");
- break;
- }
- if (selset == 'e' && setpoz == 0) {
- gipsynews = !gipsynews;
- if (gipsynews == true) {
- CPos(14, 70);
- printf("T");
- CPos(14, 71);
- printf(" ");
- } else {
- CPos(14, 70);
- printf("F");
- CPos(14, 71);
- printf(" ");
- }
- }
- }
- if (setpozold != setpoz) {
- setpozold = setpoz;
- CPos(setpoz + 13, 59);
- printf(" ");
- CPos(setpoz + 14, 59);
- printf(">");
- CPos(setpoz + 15, 59);
- printf(" ");
- }
- }
- }
- void findcitycord() {
- CPos(1, 1);
- for (int i = 0; i < 13; i++)
- for (int j = 0; j < 35; j++)
- if ((citymap[i][j] == '-') || (citymap[i][j] == '\\') || (citymap[i][j] == '/') || (citymap[i][j] == ' ') || (citymap[i][j] == 0));
- else {
- citypoz[0][marker] = i;
- citypoz[1][marker] = j;
- // printf("numer %d nazwa %c x %d y %d\n",marker,citymap[i][j], i , j);
- marker++;
- }
- }
- void citygen() {
- bool flag;
- for (int i = 0; i < 24; i++)
- {
- flag = true;
- while (flag) {
- nazwymiast[i] = rand() % 45;
- flag = false;
- for (int j = 0; j < i; j++)
- if (nazwymiast[i] == nazwymiast[j]) {
- flag = true;
- break;
- }
- }
- citytype[i] = rand() % 2;
- citygipsyness[i] = 50-(rand()%100);
- }
- citytype[rand() % 25] = 2;
- }
- void ai1set() {
- int i;
- //BEGIN strategia 'izi gejm izi lajf'
- // enemytabortgt[0] = 1;
- // enemytabortgt[1] = 2;
- // enemytabortgt[2] = 3;
- // enemytabortgt[3] = 4;
- //END
- //BEGIN strategia 'focus fire po kolei'
- // if (taborallyhp[0] > 0)
- // enemytabortgt[0] = 1;
- // else if (taborallyhp[1] > 0)
- // enemytabortgt[0] = 2;
- // else if (taborallyhp[1] > 0)
- // enemytabortgt[0] = 3;
- // else
- // enemytabortgt[0] = 4;
- // enemytabortgt[3] = enemytabortgt[2] = enemytabortgt[1] = enemytabortgt[0];
- //END
- //BEGIN strategia 'focus slabego'
- // int minhp = 500;
- // int minidx = 0;
- // for (i=0; i<4; i++) {
- // if (taborallyhp[i]<minhp && taborallyhp[i]>0) {
- // minidx = i;
- // minhp = taborallyhp[i];
- // }
- // }
- // enemytabortgt[0] = minidx + 1;
- // enemytabortgt[3] = enemytabortgt[2] = enemytabortgt[1] = enemytabortgt[0];
- //END
- //BEGIN strategia 'focus dobrego'
- int minhp = taborallyhp[0];
- int minidx = 0;
- for (i=0; i<4; i++) {
- if (taborallyhp[i]>minhp) {
- minidx = i;
- minhp = taborallyhp[i];
- }
- }
- enemytabortgt[0] = minidx + 1;
- enemytabortgt[3] = enemytabortgt[2] = enemytabortgt[1] = enemytabortgt[0];
- //END
- }
- void enemyexecution() {
- if (stunuzyty) {
- CPos(4, 50);
- printf("(stunned)");
- Sleep(1000);
- CPos(4, 50);
- printf(" ");
- return;
- }
- for (int i = 0; i < 4; i++) {
- x = 14;
- y = (i * 5) + 5;
- if (taborenemyhp[i] > 0 && enemytabortgt[i] > 0 && taborallyhp[enemytabortgt[i] - 1] > 0) {
- damage = rand() % 100;
- if (damage > 0) {
- if ((i + 1) - enemytabortgt[i] == 0) iteracja = 0;
- if ((i + 1) - enemytabortgt[i] == -1) iteracja = 5;
- if ((i + 1) - enemytabortgt[i] == -2) iteracja = 10;
- if ((i + 1) - enemytabortgt[i] == -3) iteracja = 15;
- if ((i + 1) - enemytabortgt[i] == 1) iteracja = -5;
- if ((i + 1) - enemytabortgt[i] == 2) iteracja = -10;
- if ((i + 1) - enemytabortgt[i] == 3) iteracja = -15;
- for (int k = 0; k < 46; k++) {
- if (k == 1) {
- CPos(i * 5 + 6, 62);
- printf("%c", 219);
- CPos(i * 5 + 4, 62);
- printf("%c", 219);
- CPos(i * 5 + 5, 62);
- printf("%c", 219);
- }
- y = (i * 5) + 5 + k * (iteracja / czterdziesciszesc);
- x++;
- hhh = 76 - x;
- CPos(y, hhh);
- printf("#");
- CPos(y - 1, hhh - 1);
- printf(" ");
- CPos(y, hhh + 1);
- printf(" ");
- CPos(y + 1, hhh + 1);
- printf(" ");
- Sleep(5);
- }
- CPos(y, hhh);
- printf(" ");
- CPos((i * 5) + 5 + iteracja, 60);
- printf(" ");
- taborallyhp[enemytabortgt[i] - 1] = max(taborallyhp[enemytabortgt[i] - 1] - 20, 0);
- CPos((enemytabortgt[i] * 5) - 1, 63);
- // printf("HP %-8d", max(enemytabortgt[tabortgt[i]-1],0));
- } else {
- miss = rand() % 2;
- if (miss == 0) {
- if ((i + 1) - enemytabortgt[i] == 0) iteracja = 3;
- if ((i + 1) - enemytabortgt[i] == -1) iteracja = 8;
- if ((i + 1) - enemytabortgt[i] == -2) iteracja = 13;
- if ((i + 1) - enemytabortgt[i] == -3) iteracja = 18;
- if ((i + 1) - enemytabortgt[i] == 1) iteracja = -8;
- if ((i + 1) - enemytabortgt[i] == 2) iteracja = -13;
- if ((i + 1) - enemytabortgt[i] == 3) iteracja = -18;
- } else {
- if ((i + 1) - enemytabortgt[i] == 0) iteracja = -2;
- if ((i + 1) - enemytabortgt[i] == -1) iteracja = 3;
- if ((i + 1) - enemytabortgt[i] == -2) iteracja = 8;
- if ((i + 1) - enemytabortgt[i] == -3) iteracja = 13;
- if ((i + 1) - enemytabortgt[i] == 1) iteracja = -3;
- if ((i + 1) - enemytabortgt[i] == 2) iteracja = -8;
- if ((i + 1) - enemytabortgt[i] == 3) iteracja = -13;
- }
- for (int k = 0; k < 46; k++) {
- if (k == 1) {
- CPos(i * 5 + 6, 62);
- printf("%c", 219);
- CPos(i * 5 + 4, 62);
- printf("%c", 219);
- CPos(i * 5 + 5, 62);
- printf("%c", 219);
- }
- y = (i * 5) + 5 + k * (iteracja / czterdziesciszesc);
- x++;
- hhh = 76 - x;
- CPos(y, hhh);
- printf("#");
- CPos(y - 1, hhh + 1);
- printf(" ");
- CPos(y, hhh + 1);
- printf(" ");
- CPos(y + 1, hhh + 1);
- printf(" ");
- Sleep(5);
- }
- CPos(y, hhh);
- printf(" ");
- for (int w = 0; w < 15; w++) {
- CPos(((i * 5) + 4 + iteracja), 15 - w);
- printf("#");
- CPos(((i * 5) + 4 + iteracja), 16 - w);
- printf(" ");
- Sleep(5);
- printf(" ");
- }
- CPos(((i * 5) + 4 + iteracja), 1);
- printf(" ");
- CPos(((i * 5) + 4 + iteracja), 78);
- printf(" ");
- CPos((i * 5) + 5 + iteracja, 60);
- printf(" ");
- }
- }
- }
- }
- int ftg() {
- wholescr();
- for (int i = 0; i < 25; i++)
- if (currcity == polaczenia[0][i]) citynum = i;
- for (int i = 0; i < 14; i++)
- for (int j = 0; j < 35; j++) {
- done = false;
- CPos(i + 8, j + 1);
- printf("%c", citymap[i][j]);
- }
- for (int i = 0; i < 24; i++) {
- CPos(citypoz[0][i] + 8, citypoz[1][i] + 1);
- if (citytype[i] == 0) setcolor(160);
- if (citytype[i] == 1) setcolor(144);
- if (citytype[i] == 2) setcolor(192);
- printf("%c", polaczenia[0][i]);
- }
- setcolor(7);
- CPos(1, 1);
- printf("Znajdujesz sie w miescie (%c)%s", currcity, miasta[nazwymiast[citynum]]);
- CPos(citypoz[0][citynum] + 8, citypoz[1][citynum] + 1);
- printf("%c", 175);
- CPos(4, 35);
- printf("oznaczenia miast");
- setcolor(160);
- printf(" Wies ");
- setcolor(144);
- printf(" Miasteczko ");
- setcolor(192);
- printf(" Stolica ");
- setcolor(7);
- CPos(2, 1);
- printf("mozesz pojechac do ");
- for (int i = 0; i < 6; i++) {
- if (polaczenia[citynum + 1][i] == 'z') break;
- drogi = i + 1;
- printf("%c ", polaczenia[citynum + 1][i]);
- }
- if (currcity == 'f') {
- printf("KS ");
- drogi++;
- }
- printf("Wroc");
- for (;;) {
- CPos(0,0);
- Sleep(1);
- if (_kbhit()) {
- tmp = _getch();
- if (tmp == 'a' && ftgpoz > 0) ftgpoz--;
- if (tmp == 'd' && ftgpoz < drogi) ftgpoz++;
- if (tmp == 'e') {
- if (currcity == 'f' && ftgpoz == drogi - 1) {
- return 2;
- } else {
- if (ftgpoz == drogi) {
- return 1;
- } else {
- currcity = polaczenia[citynum + 1][ftgpoz];
- for (int i = 0; i < 25; i++)
- if (currcity == polaczenia[0][i]) citynum = i;
- return 0;
- }
- }
- }
- CPos(3, (ftgpoz * 3) + 17);
- printf(" ^ ");
- }
- }
- }
- void bossfight() {
- int xpos = 20, ypos = 10, i, j;
- // int dropx = -1, dropy = -1;
- int spadax = 1, spaday = 1;
- bool lewedead = false, prawedead = false;
- wholescr();
- CPos(3,3);
- qprintf("bossfight::start();"); //TODO
- Sleep(2000);
- for (;;) {
- if (_kbhit()) {
- switch (_getch()) {
- case 'w':
- xpos--;
- break;
- case 's':
- xpos++;
- break;
- case 'a':
- ypos--;
- break;
- case 'd':
- ypos++;
- break;
- // case 'e':
- // dropx = xpos + 1;
- // dropy = ypos + 1;
- // break;
- default:
- break;
- }
- }
- if (xpos <= 0) xpos = 1;
- if (xpos >= 22) xpos = 21;
- if (ypos <= 0) ypos = 1;
- if (ypos >= 77) ypos = 76;
- wholescr();
- setcolor(10);
- CPos(1, 1);
- printf(" ################## ");
- CPos(2, 1);
- printf(" ####################### ");
- CPos(3, 1);
- printf(" #### ############## ");
- CPos(4, 1);
- printf(" ##################################### ");
- CPos(5, 1);
- printf(" ::::::::::::::::::::::::: ");
- CPos(6, 1);
- printf(" :(o)::::::(o):::____::::: ");
- CPos(7, 1);
- printf(" :::::::/ ::::::( ):::: ");
- CPos(8, 1);
- printf(" ::::::/ :::::::|()/::::: ");
- CPos(9, 1);
- printf(" :::::(____::::::| /:::::: ");
- CPos(10, 1);
- printf(" ::::::::::::::::(_):::::: ");
- CPos(11, 1);
- printf(" ::[_________]:::::::::::: ");
- CPos(12, 1);
- printf(" :[ ]::::::::::: ");
- CPos(13, 1);
- printf(" ::::::::::::::::::::: ");
- CPos(14, 1);
- printf(" ::::::::::::::::: ");
- CPos(15, 1);
- printf(" :::::::::: ");
- CPos(16, 1);
- printf(" :::::::::: ");
- CPos(17, 1);
- printf(" :::::::::: ");
- spadax++;
- if (spadax >= 24) {
- spadax = 1;
- spaday = ypos + rand()%3;
- }
- if ((spadax == xpos && spaday == ypos+1) || (spadax == xpos+1 && abs(spaday - (ypos+1))<2))
- break;
- if (spadax == 6) {
- if (spaday == 6 && !lewedead) {
- lewedead = true;
- spadax = 1;
- spaday = ypos + rand()%3;
- }
- if (spaday == 15 && !prawedead) {
- prawedead = true;
- spadax = 1;
- spaday = ypos + rand()%3;
- }
- }
- CPos(6, 6);
- if (lewedead)
- printf("x");
- CPos(6, 15);
- if (prawedead)
- printf("x");
- setcolor(11);
- for (i=0; i<3; i++)
- for (j=0; j<3; j++) {
- CPos(xpos+i, ypos+j);
- if (cygan[i][j] == 't')
- printf("%c", 1);
- else if (cygan[i][j] != ' ')
- printf("%c", cygan[i][j]);
- }
- setcolor(12);
- // if (dropx > 0 && dropy > 0 && dropx < 24 && dropy < 79) {
- // dropx+=rand()%3-1;
- // dropy+=rand()%3-1;
- // CPos(dropx, dropy);
- // printf("%c", 15);
- // }
- CPos(spadax, spaday);
- if (!(lewedead && prawedead))
- printf("%c", 15);
- setcolor(7);
- CPos(0,0);
- if (lewedead && prawedead) break;
- buffersink();
- Sleep(100);
- }
- Sleep(1000);
- for (spadax = 0; spadax<76; spadax++) {
- if ((spadax&15) == 0) continue;
- setcolor(spadax&15);
- for (i=0; i<3; i++)
- for (j=0; j<3; j++) {
- CPos(xpos+i, ypos+j);
- if (cygan[i][j] == 't')
- printf("%c", 1);
- else if (cygan[i][j] != ' ')
- printf("%c", cygan[i][j]);
- }
- Sleep(100);
- }
- Sleep(1000);
- if (lewedead && prawedead)
- win = true;
- else
- dead = true;
- buffersink();
- }
- void allyexecution() {
- for (int i = 0; i < 4; i++) {
- x = 14;
- y = (i * 5) + 5;
- if (tabortgt[i] > 0 && taborenemyhp[tabortgt[i] - 1] > 0) {
- damage = rand() % 100;
- if (damage > 50) {
- if ((i + 1) - tabortgt[i] == 0) iteracja = 0;
- if ((i + 1) - tabortgt[i] == -1) iteracja = 5;
- if ((i + 1) - tabortgt[i] == -2) iteracja = 10;
- if ((i + 1) - tabortgt[i] == -3) iteracja = 15;
- if ((i + 1) - tabortgt[i] == 1) iteracja = -5;
- if ((i + 1) - tabortgt[i] == 2) iteracja = -10;
- if ((i + 1) - tabortgt[i] == 3) iteracja = -15;
- for (int k = 0; k < 46; k++) {
- if (k == 1) {
- CPos(i * 5 + 6, 14);
- printf("%c", 219);
- CPos(i * 5 + 4, 14);
- printf("%c", 219);
- CPos(i * 5 + 5, 14);
- printf("%c", 219);
- }
- y = (i * 5) + 5 + k * (iteracja / czterdziesciszesc);
- x++;
- CPos(y, x);
- printf("#");
- CPos(y - 1, x - 1);
- printf(" ");
- CPos(y, x - 1);
- printf(" ");
- CPos(y + 1, x - 1);
- printf(" ");
- Sleep(5);
- }
- printf(" ");
- CPos((i * 5) + 5 + iteracja, 60);
- printf(" ");
- taborenemyhp[tabortgt[i] - 1] = max(taborenemyhp[tabortgt[i] - 1] - 20, 0);
- CPos((tabortgt[i] * 5) - 1, 63);
- printf("HP %-8d", max(taborenemyhp[tabortgt[i] - 1], 0));
- } else {
- miss = rand() % 2;
- if (miss == 0) {
- if ((i + 1) - tabortgt[i] == 0) iteracja = 3;
- if ((i + 1) - tabortgt[i] == -1) iteracja = 8;
- if ((i + 1) - tabortgt[i] == -2) iteracja = 13;
- if ((i + 1) - tabortgt[i] == -3) iteracja = 18;
- if ((i + 1) - tabortgt[i] == 1) iteracja = -8;
- if ((i + 1) - tabortgt[i] == 2) iteracja = -13;
- if ((i + 1) - tabortgt[i] == 3) iteracja = -18;
- } else {
- if ((i + 1) - tabortgt[i] == 0) iteracja = -2;
- if ((i + 1) - tabortgt[i] == -1) iteracja = 3;
- if ((i + 1) - tabortgt[i] == -2) iteracja = 8;
- if ((i + 1) - tabortgt[i] == -3) iteracja = 13;
- if ((i + 1) - tabortgt[i] == 1) iteracja = -3;
- if ((i + 1) - tabortgt[i] == 2) iteracja = -8;
- if ((i + 1) - tabortgt[i] == 3) iteracja = -13;
- }
- for (int k = 0; k < 46; k++) {
- if (k == 1) {
- CPos(i * 5 + 6, 14);
- printf("%c", 219);
- CPos(i * 5 + 4, 14);
- printf("%c", 219);
- CPos(i * 5 + 5, 14);
- printf("%c", 219);
- }
- y = (i * 5) + 5 + k * (iteracja / czterdziesciszesc);
- x++;
- CPos(y, x);
- printf("#");
- CPos(y - 1, x - 1);
- printf(" ");
- CPos(y, x - 1);
- printf(" ");
- CPos(y + 1, x - 1);
- printf(" ");
- Sleep(5);
- }
- for (int w = 0; w < 19; w++) {
- CPos(((i * 5) + 4 + iteracja), 60 + w);
- printf("#");
- CPos(((i * 5) + 4 + iteracja), 59 + w);
- printf(" ");
- Sleep(5);
- }
- CPos(((i * 5) + 4 + iteracja), 78);
- printf(" ");
- CPos((i * 5) + 5 + iteracja, 60);
- printf(" ");
- }
- }
- }
- }
- void stunexecution() {
- for (int i=0; i<4; i++) {
- CPos((i * 5) + 4, 63);
- if (taborenemyhp[i] > 0)
- printf("stunned ");
- Sleep(200);
- }
- }
- void fragbombexecution() {
- setcolor(15);
- for (int i=0; i<4; i++) {
- if (taborenemyhp[i] > 0) {
- taborenemyhp[i] -= 10;
- CPos((i * 5) + 4, 63);
- printf("HP %-8d", taborenemyhp[i]);
- }
- }
- setcolor(7);
- }
- void fight(int side, int amt, int hp, int dmg, int ai) {
- int sidea, amta, hpa, dmga, aia;
- sidea = side;
- amta = amt;
- // hpa = amt;
- hpa = hp;
- int cel;
- dmga = dmg;
- aia = ai;
- char celkey;
- int celpoz = 0;
- int mojtabor, mojcygan;
- wholescr();
- mojtabor = wozki;
- mojcygan = tabor;
- for (;;) {
- for (int i = 0; i < 4; i++) {
- CPos(i + 5, 35);
- printf(" ");
- }
- //ustawienia taborow ally
- for (int i = 0; i < 4; i++) {
- if ((taborallyhp[i] == 0) && (mojtabor > 0) && (mojcygan > 0)) {
- taborallyhp[i] = min(50, mojcygan);
- mojcygan = mojcygan - min(50, mojcygan);
- mojtabor = mojtabor - 1;
- }
- }
- for (int i = 0; i < 4; i++) {
- if (taborallyhp[i] == 0) {
- for (int j = 0; j < 4; j++)
- for (int k = 0; k < 13; k++) {
- CPos((i * 5) + j + 3, k + 2);
- printf(" ");
- }
- }
- }
- //ustawienia tabrow enemy
- for (int i = 0; i < 4; i++) {
- if ((taborenemyhp[i] <= 0) && (amta > 0) && (hpa > 0)) {
- taborenemyhp[i] = min(50, hpa);
- hpa = hpa - min(50, hpa);
- }
- }
- Sleep(250);
- CPos(1, 1);
- printf("Masz w zapasie %d cyganow, ", mojcygan);
- CPos(2, 1);
- printf("%d taborow i %lld kg gruzu ", mojtabor, gruz);
- CPos(1, 52);
- printf("W zapasie %d cyganow ", hpa);
- for (int i = 0; i < 4; i++) {
- if (taborallyhp[i] > 0) {
- for (int j = 0; j < 10; j++)
- for (int k = 0; k < 15; k++) {
- CPos((i * 5 + j) + 3, k + 2);
- if (pojazd[j][k] == '#') printf("%c", 219);
- }
- CPos((i * 5) + 4, 3);
- printf("HP %-8d", taborallyhp[i]);
- }
- }
- for (int i = 0; i < 4; i++) {
- if (taborenemyhp[i] > 0) {
- for (int j = 0; j < 10; j++)
- for (int k = 0; k < 15; k++) {
- CPos((i * 5 + j) + 3, k + 62);
- if (pojazd[j][k] == '#') printf("%c", 219);
- }
- CPos((i * 5) + 4, 63);
- printf("HP %-8d", taborenemyhp[i]);
- }
- }
- CPos(5, 25);
- printf("Tabor 1");
- CPos(6, 25);
- printf("Tabor 2");
- CPos(7, 25);
- printf("Tabor 3");
- CPos(8, 25);
- printf("Tabor 4");
- CPos(9, 25);
- printf("Spelle");
- CPos(10, 25);
- printf("Zakoncz ture");
- for (int i = 0; i < 4; i++) {
- if (taborallyhp[i] == 0) {
- CPos(i + 5, 35);
- printf("Brak taboru");
- }
- }
- fragbombauzyta = false;
- stunuzyty = false;
- for (;;) {
- CPos(0,0);
- Sleep(1);
- if (_kbhit()) {
- fightkey = _getch();
- if (fightkey == 's' && fightpoz < 5) fightpoz++;
- if (fightkey == 'w' && fightpoz > 0) fightpoz--;
- if (fightkey == 'e' && fightpoz == 5) {
- break;
- }
- if (fightkey == 'e' && fightpoz == 4) {
- CPos(14, 25);
- printf("Wybierz atak specjalny:");
- while (true) {
- cel = wsselect(15, 26, 3, "fragbomba [damage] -> 1k gruzu", "rozpylenie tynku [stun] -> 2k gruzu", "wroc");
- if (cel == 0) {
- if (fragbombauzyta || gruz < 1000) {
- CPos(18, 25);
- printf("[frag] bron niedostepna");
- }
- else {
- gruz -= 1000;
- CPos(2, 1);
- printf("%d taborow i %lld kg gruzu ", mojtabor, gruz);
- fragbombauzyta = true;
- fragbombexecution();
- break;
- }
- }
- else if (cel == 1) {
- if (stunuzyty || gruz < 2000) {
- CPos(18, 25);
- printf("[stun] bron niedostepna");
- }
- else {
- gruz -= 2000;
- CPos(2, 1);
- printf("%d taborow i %lld kg gruzu ", mojtabor, gruz);
- stunuzyty = true;
- stunexecution();
- break;
- }
- }
- else break;
- }
- CPos(14, 25);
- printf(" ");
- CPos(18, 25);
- printf(" ");
- }
- if (fightkey == 'e' && taborallyhp[fightpoz] > 0) {
- CPos(14, 25);
- printf("Ktory tabor chcesz zaatakowac?");
- cel = 0;
- for (int i = 0; i < 5; i++)
- if (taborenemyhp[i] > 0) {
- cel++;
- possibletgt[cel] = i + 1;
- CPos(cel + 15, 25);
- printf("nr. %d ", i + 1);
- }
- CPos(cel + 16, 25);
- printf("Wroc");
- for (;;) {
- if (choose == true) {
- choose = false;
- CPos(14, 25);
- printf(" ");
- for (int i = 0; i < cel + 2; i++) {
- CPos(i + 15, 24);
- printf(" ");
- }
- break;
- }
- CPos(0,0);
- Sleep(1);
- if (_kbhit()) {
- celkey = _getch();
- if (celkey == 'w' && celpoz > 1) celpoz--;
- if (celkey == 's' && celpoz < (cel + 1)) celpoz++;
- CPos(celpoz + 14, 24);
- printf(" ");
- CPos(celpoz + 15, 24);
- printf(">");
- CPos(celpoz + 16, 24);
- printf(" ");
- if (celkey == 'e' && celpoz == cel + 1) {
- CPos(14, 25);
- printf(" ");
- for (int i = 0; i < cel + 2; i++) {
- CPos(i + 15, 24);
- printf(" ");
- }
- break;
- }
- if (celkey == 'e') {
- CPos(16, 34);
- printf("Czym chcesz zaatakowac");
- CPos(17, 34);
- printf("Tabor numer %d", possibletgt[celpoz]);
- CPos(18, 34);
- printf("Cegla -> 25 gruzu");
- CPos(19, 34);
- printf("Gruz -> 50 gruzu");
- CPos(20, 34);
- printf("Wroc");
- ammopoz = 1;
- for (;;) {
- CPos(0,0);
- Sleep(1);
- if (_kbhit()) {
- ammotype = _getch();
- if (ammotype == 'w' && ammopoz > 0) ammopoz--;
- if (ammotype == 's' && ammopoz < 2) ammopoz++;
- if (ammotype == 'e' && ammopoz == 1) {
- tabortgt[fightpoz] = possibletgt[celpoz];
- taborweapon[fightpoz] = 'G';
- choose = true;
- }
- if (ammotype == 'e' && ammopoz == 0) {
- tabortgt[fightpoz] = possibletgt[celpoz];
- taborweapon[fightpoz] = 'C';
- choose = true;
- }
- if ((ammotype == 'e' && ammopoz == 2) || choose == true) {
- CPos(16, 33);
- printf(" ");
- CPos(17, 33);
- printf(" ");
- CPos(18, 33);
- printf(" ");
- CPos(19, 33);
- printf(" ");
- CPos(20, 33);
- printf(" ");
- CPos(fightpoz + 5, 35);
- if (tabortgt[fightpoz] != 0) printf("cel %d sposob %c", tabortgt[fightpoz], taborweapon[fightpoz]);
- break;
- }
- CPos(ammopoz + 17, 33);
- printf(" ");
- CPos(ammopoz + 18, 33);
- printf(">");
- CPos(ammopoz + 19, 33);
- printf(" ");
- }
- }
- }
- }
- }
- }
- CPos(fightpoz + 4, 24);
- printf(" ");
- CPos(fightpoz + 5, 24);
- printf(">");
- CPos(fightpoz + 6, 24);
- printf(" ");
- }
- }
- for (int i = 0; i < 10; i++)
- for (int j = 0; j < 30; j++) {
- CPos(i + 5, j + 20);
- printf(" ");
- }
- ai1set();
- allyexecution();
- enemyexecution();
- //fightend chc
- if (hpa == 0 && ((taborenemyhp[0] == 0) && (taborenemyhp[1] == 0) && (taborenemyhp[2] == 0) && (taborenemyhp[3] == 0))) break;
- if (mojcygan == 0 && ((taborallyhp[0] == 0) && (taborallyhp[1] == 0) && (taborallyhp[2] == 0) && (taborallyhp[3] == 0))) {
- // freegipsy = freegipsy - (tabor - mojcygan);
- // tabor = tabor - (tabor - mojcygan);
- freegipsy = tabor = mojcygan;
- miastowi = 0;
- gornicy = 0;
- break;
- }
- }
- }
- void bhpinfo() {
- CPos(10, 2);
- printf("Ulepszenie BHP zmniejsza szanse na wypadek");
- CPos(11, 2);
- printf("Kazde ulepszenie zmniejsza szanse na wypadek");
- CPos(12, 2);
- printf("o 1%%. Ulepszenie poziomu 10 gwarantuje");
- CPos(13, 2);
- printf("bezwypadkowa prace. Oczywiscie za swoja cene");
- CPos(14, 2);
- printf("wcisnij dowolny klawisz zeby wyjsc");
- buffersink();
- _getch();
- CPos(10, 2);
- printf(" ");
- CPos(11, 2);
- printf(" ");
- CPos(12, 2);
- printf(" ");
- CPos(13, 2);
- printf(" ");
- CPos(14, 2);
- printf(" ");
- }
- void miasto() {
- CPos(15, 40);
- printf("ile cyganow chcesz przydzielic");
- CPos(16, 40);
- printf("do okradania miasta a< >d p- przydziel");
- CPos(17, 40);
- printf("w- wroc q- wszyscy dost.");
- for (;;) {
- CPos(0,0);
- Sleep(1);
- if (_kbhit()) {
- citysel = _getch();
- if (citysel == 'a' && miastowi > 0) miastowi--;
- if (citysel == 'd' && 0 < (tabor - (rzemieslnicy + naukowcy + miastowi + gornicy))) miastowi++;
- CPos(18, 40);
- printf("%lld cyganow ", miastowi);
- if (citysel == 'p') {
- CPos(15, 40);
- printf(" ");
- CPos(16, 40);
- printf(" ");
- CPos(17, 40);
- printf(" ");
- CPos(18, 40);
- printf(" ");
- printfgielda();
- printftabor();
- break;
- }
- if (citysel == 'q') {
- miastowi = (tabor - (rzemieslnicy + naukowcy + gornicy));
- CPos(15, 40);
- printf(" ");
- CPos(16, 40);
- printf(" ");
- CPos(17, 40);
- printf(" ");
- CPos(18, 40);
- printf(" ");
- printftabor();
- printfgielda();
- break;
- }
- if (citysel == 'w') {
- miastowi = 0;
- CPos(15, 40);
- printf(" ");
- CPos(16, 40);
- printf(" ");
- CPos(17, 40);
- printf(" ");
- CPos(18, 40);
- printf(" ");
- break;
- }
- }
- }
- }
- void kilofyres() {
- CPos(10, 2);
- for (int i = 0; i < 20; i++)
- printf("%c", gruzwydob[minelvl - 1][i]);
- CPos(11, 2);
- printf("Cena w gruzie %d", gruzwydobp[minelvl - 1]);
- CPos(12, 2);
- printf("Czas w cyganoroboczodniach %d", gruzwydobd[minelvl - 1]);
- CPos(13, 2);
- printf("Efekt:");
- for (int i = 0; i < 20; i++)
- printf("%c", gruzwydobe[minelvl - 1][i]);
- CPos(14, 2);
- printf("r - zeby zaczac odkrywac, w - wyjdz");
- for (;;) {
- CPos(0,0);
- Sleep(1);
- if (_kbhit()) {
- tmpsel = _getch();
- if (tmpsel == 'w') {
- CPos(4, 2);
- printf(" ");
- CPos(5, 2);
- printf(" ");
- CPos(6, 2);
- printf(" ");
- CPos(7, 2);
- printf(" ");
- CPos(8, 2);
- printf(" ");
- CPos(9, 2);
- printf(" ");
- CPos(10, 2);
- printf(" ");
- CPos(11, 2);
- printf(" ");
- CPos(12, 2);
- printf(" ");
- CPos(13, 2);
- printf(" ");
- CPos(14, 2);
- printf(" ");
- break;
- }
- if (tmpsel == 'r') { if (gruzwydobp[minelvl - 1] < gruz) {
- gruz = gruz - gruzwydobp[minelvl - 1];
- labwork = true;
- rschtask = 1;
- labtime = gruzwydobd[minelvl - 1];
- for (int i = 0; i < 25; i++)
- currsch[i] = gruzwydob[minelvl - 1][i];
- CPos(4, 2);
- printf(" ");
- CPos(5, 2);
- printf(" ");
- CPos(6, 2);
- printf(" ");
- CPos(7, 2);
- printf(" ");
- CPos(8, 2);
- printf(" ");
- CPos(9, 2);
- printf(" ");
- CPos(10, 2);
- printf(" ");
- CPos(11, 2);
- printf(" ");
- CPos(12, 2);
- printf(" ");
- CPos(13, 2);
- printf(" ");
- CPos(14, 2);
- printf(" ");
- break;
- } else {
- CPos(15, 2);
- printf("Sorry nie masz tyle gruzu, nacisnij dow. przycisk zeby kontynuowac");
- buffersink();
- _getch();
- CPos(4, 2);
- printf(" ");
- CPos(5, 2);
- printf(" ");
- CPos(6, 2);
- printf(" ");
- CPos(7, 2);
- printf(" ");
- CPos(8, 2);
- printf(" ");
- CPos(9, 2);
- printf(" ");
- CPos(10, 2);
- printf(" ");
- CPos(11, 2);
- printf(" ");
- CPos(12, 2);
- printf(" ");
- CPos(13, 2);
- printf(" ");
- CPos(14, 2);
- printf(" ");
- CPos(15, 2);
- printf(" ");
- }}
- }
- }
- }
- void kilofyinfo() {
- CPos(10, 2);
- printf("Ulepszenie kilofow powoduje wzrost dziennego urobku");
- buffersink();
- _getch();
- CPos(10, 2);
- printf(" ");
- }
- void lab() {
- clearwindow(0, 0, 79, 24);
- for (;;) {
- CPos(1, 1);
- printf("Witaj w laboratorium. aktualnie pracuje tu %lld cyganow", naukowcy);
- CPos(2, 1);
- printf("Mysla nad projektem");
- for (int i = 0; i < 25; i++) printf("%c", currsch[i]);
- CPos(3, 1);
- if (naukowcy == 0) printf("Nie mysla bo nie ma komu myslec");
- else if (labwork) printf("Zajmie im to %lld dni ", max(labtime / naukowcy, a));
- else printf("brak projektu badawczego ");
- CPos(4, 2);
- printf("p - przydziel cyganow do pracy, q - wyjdz");
- if (labwork == false) {
- CPos(5, 2);
- printf("b - wybiez projekt badawczy,");
- } else {
- CPos(5, 2);
- printf("Badania w toku");
- }
- labsel = _getch();
- if (labsel == 'q') {
- clearwindow(0, 0, 79, 24);
- oldtabor++;
- printftabor();
- printfceny();
- printfgielda();
- break;
- }
- if (labsel == 'p') {
- for (;;) {
- CPos(0,0);
- Sleep(1);
- if (_kbhit()) {
- labgips = _getch();
- if (labgips == 'a' && naukowcy > 0) naukowcy--;
- if (labgips == 'd' && naukowcy < tabor - (rzemieslnicy + gornicy + miastowi)) naukowcy++;
- if (labgips == 'p') {
- CPos(7, 1);
- printf(" ");
- CPos(8, 1);
- printf(" ");
- break;
- }
- }
- CPos(7, 1);
- printf("p - przydziel");
- CPos(8, 1);
- printf("a < %lld > d", naukowcy);
- }
- }
- if (labsel == 'b' && labwork == false) {
- for (int i = 0; i < 10; i++) {
- CPos(i + 7, 6);
- printf("%s", projekty[i]);
- }
- CPos(6, 7);
- printf("w%c s%c e - wybiez, i - informacje, r - wyjdz", 30, 31);
- for (;;) {
- CPos(0,0);
- Sleep(1);
- if (_kbhit()) {
- reskey = _getch();
- if (reskey == 'w' && respoz > 0) respoz--;
- if (reskey == 's' && respoz < 1) respoz++;
- if (reskey == 'i') {
- if (respoz == 0) kilofyinfo();
- if (respoz == 1) bhpinfo();
- }
- if (reskey == 'e') {
- if (respoz == 1) bhpres();
- if (respoz == 0) kilofyres();
- break;
- }
- if (reskey == 'r') {
- CPos(6, 1);
- printf(" ");
- CPos(7, 1);
- printf(" ");
- CPos(8, 1);
- printf(" ");
- CPos(9, 1);
- printf(" ");
- for (int i = 0; i < 10; i++)
- for (int j = 0; j < 20; j++) {
- CPos(i + 7, j + 5);
- printf(" ");
- }
- break;
- }
- } else {
- if (respozold != respoz) {
- respozold = respoz;
- CPos(respoz + 6, 5);
- printf(" ");
- CPos(respoz + 7, 5);
- printf(">");
- CPos(respoz + 8, 5);
- printf(" ");
- CPos(0, 0);
- }
- }
- }
- }
- }
- }
- void printftabor() {
- freegipsy = tabor - (gornicy + rzemieslnicy + naukowcy + miastowi);
- CPos(1, 1);
- printf("Witaj w swoim taborze");
- CPos(2, 1);
- printf("%lld dzien twojej cyganskiej przygody", dzien);
- for (int i = 0; i < 20; i++)
- for (int j = 0; j < 20; j++) {
- CPos(j + 5, i + 5);
- if (wagon[j][i] == '#') printf("%c", 219);
- }
- for (int i = 1; i < 19; i++)
- for (int j = 6; j < 15; j++) {
- CPos(j, i + 5);
- printf(" ");
- }
- CPos(14, 6);
- printf(" ");
- setcolor(8);
- CPos(4, 5);
- printf("%c%c%c%c%c", 219, 219, 219, 219, 219);
- CPos(4, 20);
- printf("%c%c%c%c%c", 219, 219, 219, 219, 219);
- CPos(16, 5);
- printf("%c%c%c%c%c", 219, 219, 219, 219, 219);
- CPos(16, 20);
- printf("%c%c%c%c%c", 219, 219, 219, 219, 219);
- setcolor(7);
- if (tabor >= 1) {
- for (int i = 0; i < 4; i++) for (int j = 0; j < 4; j++) {
- CPos(j + 6, i + 6);
- if (cygan[j][i] == 't') printf("%c", 257);
- else printf("%c", cygan[j][i]);
- }
- }
- if (tabor >= 5) {
- for (int i = 0; i < 4; i++) for (int j = 0; j < 4; j++) {
- CPos(j + 10, i + 6);
- if (cygan[j][i] == 't') printf("%c", 257);
- else printf("%c", cygan[j][i]);
- }
- }
- if (tabor >= 10) {
- for (int i = 0; i < 4; i++) for (int j = 0; j < 4; j++) {
- CPos(j + 6, i + 10);
- if (cygan[j][i] == 't') printf("%c", 257);
- else printf("%c", cygan[j][i]);
- }
- }
- if (tabor >= 50) {
- for (int i = 0; i < 4; i++) for (int j = 0; j < 4; j++) {
- CPos(j + 10, i + 10);
- if (cygan[j][i] == 't') printf("%c", 257);
- else printf("%c", cygan[j][i]);
- }
- }
- if (tabor >= 100) {
- for (int i = 0; i < 4; i++) for (int j = 0; j < 4; j++) {
- CPos(j + 6, i + 14);
- if (cygan[j][i] == 't') printf("%c", 257);
- else printf("%c", cygan[j][i]);
- }
- }
- if (tabor >= 500) {
- for (int i = 0; i < 4; i++) for (int j = 0; j < 4; j++) {
- CPos(j + 10, i + 14);
- if (cygan[j][i] == 't') printf("%c", 257);
- else printf("%c", cygan[j][i]);
- }
- }
- if (tabor >= 1000) {
- for (int i = 0; i < 4; i++) for (int j = 0; j < 4; j++) {
- CPos(j + 6, i + 18);
- if (cygan[j][i] == 't') printf("%c", 257);
- else printf("%c", cygan[j][i]);
- }
- }
- if (tabor >= 5000) {
- for (int i = 0; i < 4; i++) for (int j = 0; j < 4; j++) {
- CPos(j + 10, i + 18);
- if (cygan[j][i] == 't') printf("%c", 257);
- else printf("%c", cygan[j][i]);
- }
- }
- CPos(13, 6);
- printf("ilosc wolnych");
- CPos(14, 6);
- printf("cyganow %lld", freegipsy);
- CPos(6, 30);
- printf("Gruz %lld ", gruz);
- CPos(7, 30);
- printf("Hajs %lld ", hajs);
- CPos(8, 30);
- printf("Masz %lld taborow", wozki);
- CPos(10, 30);
- printf("W ktorych mozez jeszcze");
- CPos(11, 30);
- printf("pomiescic %lld cyganow", (wozki * maxcygan) - tabor);
- }
- void genceny() {
- buycygan = ((rand() % 100) + 50) + ((freegipsy + gornicy + rzemieslnicy + naukowcy + miastowi) / 3);
- sellcygan = buycygan - ((rand() % 25) + 10);
- buytabor = (rand() % 300) + 200 + (wozki * ((rand() % 100) + 1));
- sellgruz = rand() % 25;
- sellpatelnia = (rand() % 25) + 10;
- }
- void printfceny() {
- if (buycygan - (50 + ((freegipsy + gornicy + rzemieslnicy + naukowcy + miastowi) / 3)) < 130) setcolor(12);
- if (buycygan - (50 + ((freegipsy + gornicy + rzemieslnicy + naukowcy + miastowi) / 3)) < 90) setcolor(14);
- if (buycygan - (50 + ((freegipsy + gornicy + rzemieslnicy + naukowcy + miastowi) / 3)) < 60) setcolor(10);
- CPos(20, 1);
- printf("Cena kupna cygana %lld cygcoinow ", buycygan);
- if (buycygan - sellcygan < 35) setcolor(12);
- if (buycygan - sellcygan < 15) setcolor(14);
- if (buycygan - sellcygan < 5) setcolor(10);
- CPos(21, 1);
- printf("Zysk ze sprzedazy cygana %lld cygcoinow ", sellcygan);
- if (buytabor - (200 + wozki) < 400) setcolor(12);
- if (buytabor - (200 + wozki) < 250) setcolor(14);
- if (buytabor - (200 + wozki) < 100) setcolor(10);
- CPos(22, 1);
- printf("Cena kupna taboru %lld cygcoinow ", buytabor);
- if (sellgruz < 25) setcolor(10);
- if (sellgruz < 15) setcolor(14);
- if (sellgruz < 5) setcolor(12);
- CPos(23, 1);
- printf("Zysk ze sprzedazy gruzu %lld cygcoinow/kg ", sellgruz);
- setcolor(7);
- }
- void ceny() {
- genceny();
- printfceny();
- }
- void printfgielda() {
- for (int i = 0; i < 9; i++)
- for (int j = 0; j < 15; j++) {
- CPos(i + 2, j + 60);
- printf("%c", menu[i][j]);
- }
- CPos(menupoz, 59);
- printf(" ");
- CPos(menupoz + 1, 59);
- printf("%c", 26);
- CPos(menupoz + 2, 59);
- printf(" ");
- CPos(4, 70);
- printf("%lld", gornicy);
- CPos(5, 70);
- printf("%lld", miastowi);
- CPos(0, 0);
- }
- void kupcygana() {
- kupcyganaamt = 0;
- CPos(20, 50);
- printf("Stac cie na %lld cyganow", hajs / buycygan);
- for (;;) {
- CPos(0,0);
- Sleep(1);
- if (_kbhit()) {
- kupcyganakey = _getch();
- if (kupcyganakey == 'a' && kupcyganaamt > 0) kupcyganaamt--;
- if (kupcyganakey == 'd' && kupcyganaamt < hajs / buycygan && kupcyganaamt < ((wozki * maxcygan) - tabor)) kupcyganaamt++;
- if (kupcyganakey == 'f' && kupcyganaamt < hajs / (buycygan + 10) && (kupcyganaamt + 10) < ((wozki * maxcygan) - tabor)) kupcyganaamt += 10;
- if (kupcyganakey == 'k' && hajs >= hajs / buycygan) {
- hajs = hajs - buycygan * kupcyganaamt;
- tabor = tabor + kupcyganaamt;
- CPos(20, 50);
- printf(" ");
- CPos(21, 56);
- printf(" ");
- CPos(22, 42);
- printf(" ");
- printftabor();
- break;
- }
- } else {
- CPos(21, 56);
- printf("A %c %lld %c D ", 17, kupcyganaamt, 16);
- CPos(22, 42);
- printf("Mozesz zmiescic jeszcze %lld cyganow", ((wozki * maxcygan) - tabor));
- kupcyganaamtold = kupcyganaamt;
- }
- }
- }
- void kopgruz() {
- CPos(19, 48);
- printf("ile cyganow chcesz przydzielic");
- CPos(20, 48);
- printf("do kopania w kopalni");
- CPos(21, 48);
- printf("p - wszyscy, k - przydziel");
- for (;;) {
- CPos(0,0);
- Sleep(1);
- if (_kbhit()) {
- kopajkey = _getch();
- if (kopajkey == 'd' && gornicy < tabor - (rzemieslnicy + naukowcy + miastowi)) gornicy++;
- if (kopajkey == 'a' && gornicy > 0) gornicy--;
- if (kopajkey == 'k') {
- freegipsy = freegipsy - gornicy;
- printftabor();
- printfgielda();
- CPos(19, 48);
- printf(" ");
- CPos(20, 48);
- printf(" ");
- CPos(21, 48);
- printf(" ");
- CPos(22, 48);
- printf(" ");
- break;
- }
- if (kopajkey == 'p') {
- gornicy = tabor - (rzemieslnicy + naukowcy + miastowi);
- freegipsy = freegipsy - gornicy;
- printftabor();
- printfgielda();
- CPos(19, 48);
- printf(" ");
- CPos(20, 48);
- printf(" ");
- CPos(21, 48);
- printf(" ");
- CPos(22, 48);
- printf(" ");
- break;
- }
- } else {
- CPos(22, 48);
- printf("A %c %lld %c D ", 17, gornicy, 16);
- }
- }
- }
- void sellgruza() {
- sellgruzamt = 0;
- CPos(19, 40);
- printf("Mozesz sprzedac %lld gruzu", gruz);
- CPos(20, 40);
- printf("a-1 d+1 f+10 g+100 h-wszystko");
- CPos(21, 40);
- printf("k - potwierdz");
- for (;;) {
- CPos(0,0);
- Sleep(1);
- if (_kbhit()) {
- sellgruzkey = _getch();
- if (sellgruzkey == 'a' && sellgruzamt > 0) sellgruzamt--;
- if (sellgruzkey == 'd' && sellgruzamt < gruz) sellgruzamt++;
- if (sellgruzkey == 'f' && (sellgruzamt + 10) < gruz) sellgruzamt += 10;
- if (sellgruzkey == 'g' && (sellgruzamt + 100) < gruz) sellgruzamt += 100;
- if (sellgruzkey == 'h') sellgruzamt = gruz;
- if (sellgruzkey == 'k') {
- hajs = hajs + sellgruz * sellgruzamt;
- gruz = gruz - sellgruzamt;
- CPos(19, 35);
- printf(" ");
- CPos(20, 35);
- printf(" ");
- CPos(21, 35);
- printf(" ");
- CPos(22, 35);
- printf(" ");
- oldtabor++;
- printftabor();
- break;
- }
- } else {
- CPos(22, 56);
- printf("A %c %lld %c D ", 17, sellgruzamt, 16);
- }
- }
- }
- void sellcygana() {
- kupcyganaamt = 0;
- CPos(20, 50);
- printf("Mozesz sprzedac %lld cyg.", tabor);
- for (;;) {
- CPos(0,0);
- Sleep(1);
- if (_kbhit()) {
- sellcyganakey = _getch();
- if (sellcyganakey == 'a' && sellcyganaamt > 0) sellcyganaamt--;
- if (sellcyganakey == 'd' && sellcyganaamt < tabor) sellcyganaamt++;
- if (sellcyganakey == 'k') {
- hajs = hajs + sellcygan * sellcyganaamt;
- tabor = tabor - sellcyganaamt;
- CPos(20, 50);
- printf(" ");
- CPos(21, 50);
- printf(" ");
- oldtabor++;
- printftabor();
- break;
- }
- } else {
- CPos(21, 56);
- printf("A %c %lld %c D ", 17, sellcyganaamt, 16);
- sellcyganaamtold = sellcyganaamt;
- }
- }
- }
- void kuptabor() {
- kuptaboraamt = 0;
- CPos(20, 50);
- printf("Mozesz kupic %lld taborow", hajs / buytabor);
- for (;;) {
- CPos(0,0);
- Sleep(1);
- if (_kbhit()) {
- buytaborkey = _getch();
- if (buytaborkey == 'a' && buytaboramt > 0) buytaboramt--;
- if (buytaborkey == 'd' && buytaboramt < hajs / buytabor) buytaboramt++;
- if (buytaborkey == 'k') {
- hajs = hajs - buytaboramt * buytabor;
- wozki = wozki + buytaboramt;
- CPos(20, 50);
- printf(" ");
- CPos(21, 50);
- printf(" ");
- oldtabor++;
- printftabor();
- break;
- }
- } else {
- CPos(21, 56);
- printf("A %c %lld %c D ", 17, buytaboramt, 16);
- buytaboramtold = buytaboramt;
- }
- }
- }
- void sklep() {
- CPos(2, 59);
- printf(" ");
- for (int i = 0; i < 6; i++) {
- CPos(i + 12, 60);
- printf("%s", sklepik[i]);
- }
- CPos(skleppoz + 12, 59);
- printf("%c", 26);
- for (;;) {
- CPos(0,0);
- Sleep(1);
- if (_kbhit()) {
- sklepkey = _getch();
- if (sklepkey == 's' && skleppoz < 5) skleppoz++;
- if (sklepkey == 'w' && skleppoz > 0) skleppoz--;
- if (sklepkey == 'e' && skleppoz == 5) {
- clearwindow(45, 11, 78, 20);
- menupozold++;
- break;
- }
- if (sklepkey == 'e' && skleppoz == 0) kupcygana();
- if (sklepkey == 'e' && skleppoz == 1) sellcygana();
- CPos(skleppoz + 11, 59);
- printf(" ");
- CPos(skleppoz + 12, 59);
- printf("%c", 26);
- CPos(skleppoz + 13, 59);
- printf(" ");
- CPos(0, 0);
- if (sklepkey == 'e' && skleppoz == 2) kuptabor();
- if (sklepkey == 'e' && skleppoz == 3)
- {
- blackmarket();
- if(dead || zapiwniczenie > 0) break;
- CPos(2, 59);
- printf(" ");
- for (int i = 0; i < 6; i++)
- for (int j = 0; j < 17; j++) {
- CPos(i + 12, j + 60);
- printf("%c", sklepik[i][j]);
- }
- }
- if (sklepkey == 'e' && skleppoz == 4) sellgruza();
- }
- }
- }
- int main(int argc, char *argv[]) {
- srand(time(NULL));
- findcitycord();
- citygen();
- currcity = 'a';
- miastotyp[0] = 'W';
- miastotyp[1] = 'M';
- miastotyp[2] = 'S';
- printfwindow(0, 0, 79, 24);
- // do uzycia tylko jednej funkcji, np.:
- // $ g++ -DONLYFUN=deathscreen
- #ifdef ONLYFUN
- ONLYFUN();
- if (win) winscreen();
- else if (dead) deathscreen();
- return 0;
- #endif
- setcolor(1);
- for (int j = 0; j < 12; j++) {
- CPos(j + 5, 5);
- for (int i = 0; i < 66; i++) {
- if (logo[j][i] == '#') printf("%c", 219);
- else printf(" ");
- }
- Sleep(50);
- }
- setcolor(4);
- CPos(20, 30);
- warqprintf(tekst, 50);
- setcolor(7);
- Sleep(2000);
- if (argc != 2 || strcmp(argv[1], "x") != 0)
- secretdata();
- clearwindow(0, 0, 79, 24);
- int becconio;
- for (;;) {
- generujmarket();
- deadminer = 0;
- //EVENTY
- if (labtime <= 0 && labwork) {
- labwork = false;
- for (int i = 0; i < 25; i++)
- currsch[i] = ' ';
- if (rschtask == 1) minelvl++;
- if (rschtask == 2) bhplvl++;
- }
- if (gornicy > 0) for (int i = 0; i < gornicy; i++)
- if ((11 - bhplvl) > rand() % 5000) deadminer++;
- good = 0;
- ok = 0;
- bad = 0;
- bank = 0;
- media = 0;
- granie = 0;
- budowa = 0;
- kradl = 0;
- uciekl = 0;
- zlapany = 0;
- if (miastowi > 0) {
- for (int i = 0; i < miastowi; i++) {
- tmp = rand() % 100;
- if (tmp <= 19) good++;
- if (tmp <= 97 && tmp > 20) ok++;
- if (tmp <= 100 && tmp > 97) bad++;
- //good ok bad
- }
- for (int i = 0; i < good; i++) {
- tmp = rand() % 5;
- if (tmp == 0) bank++;
- if (tmp == 1) media++;
- if (tmp == 2) granie++;
- if (tmp == 3) budowa++;
- if (tmp == 4) kradl++;
- }
- 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)));
- gruz = gruz + (budowa * 40 * (citytype[i] + 1));
- for (int i = 0; i < bad; i++) {
- tmp = rand() % 2;
- if (tmp == 0) uciekl++;
- if (tmp == 1) zlapany++;
- //uciekl, zlapany;
- }
- }
- becconio = 0;
- if (rand()%100 < 20) {
- becconio = rand()%30 + 1;
- dodajitem("kosa bez skina", becconio);
- }
- //</EVENTY>
- //GIPSYNEWS
- if (gipsynews == true) {
- if (dzien > 0) {
- wholescr();
- if (gornicy * minelvl != 0) {
- CPos(1, 1);
- printf("Wykopales %lld kg gruzu", gornicy * minelvl);
- }
- if (deadminer > 0) {
- CPos(2, 1);
- printf("Podczas pracy umarlo %lld gornikow", deadminer);
- }
- CPos(3, 1);
- printf("%lld cyganow obrabowalo bank i ukradlo %lld cygocoinow", bank, bank * 100 * (citytype[citynum + 1] + 1));
- CPos(4, 1);
- printf("%lld cyganow obrabowalo media markt i ukradlo %lld cygocoinow", media, (media * 250 * (citytype[citynum + 1] + 1)));
- CPos(5, 1);
- printf("%lld cyganow gralo w tramwaju i zebrali %lld cygocoinow", granie, granie * 15 * (citytype[citynum + 1] + 1));
- CPos(6, 1);
- printf("%lld cyganow okradlo budowe i zebrali %lld gruzu", budowa, budowa * 40 * (citytype[citynum + 1] + 1));
- CPos(7, 1);
- printf("%lld cyganow okradalo ludzi i ukradli %lld cygocoinow", kradl, kradl * 50 * (citytype[citynum + 1] + 1));
- CPos(11, 1);
- printf("%lld cyganow ucieklo z twojego taboru", uciekl);
- CPos(12, 1);
- printf("policja zlapala %lld cyganow na goracym uczynku", zlapany);
- miastowi = miastowi - (uciekl + zlapany);
- tabor = tabor - (uciekl + zlapany);
- CPos(14, 1);
- if (becconio)
- printf("znalazles item! to kosa [x%d]! brawo!", becconio);
- CPos(17, 1);
- printf("nacisnij dowolny klawisz aby kontynuowac");
- buffersink();
- _getch();
- menupozold++;
- sel = 'p';
- clearwindow(0, 0, 79, 24);
- }
- }
- //ENDGIPSYNEWS
- printfgielda();
- printftabor();
- gornicy = gornicy - deadminer;
- tabor = tabor - deadminer;
- ++oldtabor;
- ++dzien;
- ceny();
- for (;;) {
- CPos(0,0);
- Sleep(1);
- if (_kbhit()) {
- sel = _getch();
- if (sel == 's' && menupoz < 9) menupoz++;
- if (sel == 'w' && menupoz > 1) menupoz--;
- if (sel == 'e') {
- if (menupoz == 1) sklep();
- if (menupoz == 3) kopgruz();
- if (menupoz == 4) miasto();
- if (menupoz == 5) {}
- if (menupoz == 6) lab();
- if (menupoz == 7) {
- gruz = gruz + (gornicy * minelvl);
- printftabor();
- if (labwork == true) labtime = labtime - naukowcy;
- break;
- }
- if (menupoz == 8) settings();
- if (menupoz == 9) {
- switch (ftg()) {
- case 0:
- // fajtszens = rand()%100;
- // if(fajtszens < 10*(citytype[citynum + 1] + 1))
- // {
- //(int side, int amt, int hp, int dmg, int ai)
- fight(50, 50, 200, 50, 50);
- // }
- break;
- case 1:
- break;
- case 2:
- bossfight();
- break;
- default:
- break;
- }
- wholescr();
- dzien++;
- printftabor();
- printfgielda();
- printfceny();
- }
- if(zapiwniczenie > 0) piwnica();
- }
- } else {
- if (oldtabor != tabor) {
- oldtabor = tabor;
- printftabor();
- }
- if (menupozold != menupoz) {
- menupozold = menupoz;
- printfgielda();
- }
- }
- if (win) {
- winscreen();
- return 0;
- }
- if(dead) {
- deathscreen();
- return 666;
- }
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment