SHOW:
|
|
- or go back to the newest paste.
| 1 | #include<iostream> | |
| 2 | #include<fstream> | |
| 3 | #include<windows.h> | |
| 4 | #include<conio.h> | |
| 5 | #include<time.h> | |
| 6 | - | #define kursor SetConsoleCursorPosition(GetStdHandle(STD_OUTPUT_HANDLE), pozycja) |
| 6 | + | |
| 7 | - | #define kursor1 SetConsoleCursorPosition(GetStdHandle(STD_OUTPUT_HANDLE), pozycja1) |
| 7 | + | |
| 8 | - | #define uKursor SetConsoleCursorPosition(GetStdHandle(STD_OUTPUT_HANDLE), |
| 8 | + | |
| 9 | -kamera | |
| 10 | */ | |
| 11 | ||
| 12 | using namespace std; | |
| 13 | ||
| 14 | //ZMIENNE GLOBALNE | |
| 15 | char znaki[] = {'X',2};
| |
| 16 | int dane[2][3] = {0};
| |
| 17 | char poziom1[30][100] = {0}; // pierwszy poziom
| |
| 18 | ||
| 19 | //DEKLARACJE FUNKCJI | |
| 20 | void czysc(string tryb = "all"); | |
| 21 | - | char znaki[] = {'X',2,'C','T','|','K','o'};
|
| 21 | + | |
| 22 | void rysujRamka(); | |
| 23 | void menuGlowne(); | |
| 24 | - | bool klucz = false; |
| 24 | + | |
| 25 | - | int punkty = 0; |
| 25 | + | void gra(); |
| 26 | - | int highscore = 0; |
| 26 | + | |
| 27 | void Kursor(int, int); | |
| 28 | void zapis(int); | |
| 29 | void wyniki(); | |
| 30 | ||
| 31 | void opcje() | |
| 32 | {
| |
| 33 | CONSOLE_FONT_INFOEX cfi; | |
| 34 | cfi.cbSize = sizeof cfi; | |
| 35 | cfi.nFont = 0; | |
| 36 | - | void gra(/*short slot,*/ int x=4, int y=19); |
| 36 | + | |
| 37 | cfi.dwFontSize.Y = 16; | |
| 38 | cfi.FontFamily = FF_DONTCARE; | |
| 39 | - | /*void opcje() |
| 39 | + | |
| 40 | SetCurrentConsoleFontEx(GetStdHandle(STD_OUTPUT_HANDLE), FALSE, &cfi); | |
| 41 | } | |
| 42 | ||
| 43 | int main() | |
| 44 | {
| |
| 45 | opcje(); | |
| 46 | rysujRamka(); | |
| 47 | wczytajMape(); | |
| 48 | menuGlowne(); | |
| 49 | - | }*/ |
| 49 | + | |
| 50 | return 0; | |
| 51 | } | |
| 52 | ||
| 53 | - | //opcje(); |
| 53 | + | |
| 54 | - | rysujRamka(); |
| 54 | + | |
| 55 | - | wczytajMape(); |
| 55 | + | |
| 56 | - | menuGlowne(); |
| 56 | + | |
| 57 | for(int i=4; i<31 ;i++) | |
| 58 | {
| |
| 59 | for(int z=80; z<99 ;z++) | |
| 60 | {
| |
| 61 | Kursor(z,i); | |
| 62 | cout << " "; | |
| 63 | } | |
| 64 | } | |
| 65 | return; | |
| 66 | } | |
| 67 | else if(tryb == "chat") | |
| 68 | {
| |
| 69 | - | COORD poz = {z,i};
|
| 69 | + | |
| 70 | - | uKursor poz); |
| 70 | + | |
| 71 | for(int z=1; z<79 ;z++) | |
| 72 | {
| |
| 73 | Kursor(z,i); | |
| 74 | cout << " "; | |
| 75 | } | |
| 76 | } | |
| 77 | return; | |
| 78 | } | |
| 79 | else if(tryb == "gra") | |
| 80 | {
| |
| 81 | for(int i=1; i<31 ;i++) | |
| 82 | - | COORD poz = {z,i};
|
| 82 | + | |
| 83 | - | uKursor poz); |
| 83 | + | |
| 84 | {
| |
| 85 | Kursor(z,i); | |
| 86 | cout << " "; | |
| 87 | } | |
| 88 | } | |
| 89 | return; | |
| 90 | } | |
| 91 | else if(tryb == "bezramki") | |
| 92 | {
| |
| 93 | for(int i=4; i<31 ;i++) | |
| 94 | {
| |
| 95 | - | COORD poz = {z,i};
|
| 95 | + | |
| 96 | - | uKursor poz); |
| 96 | + | |
| 97 | Kursor(z,i); | |
| 98 | cout << " "; | |
| 99 | } | |
| 100 | } | |
| 101 | for(int i=32; i<39 ;i++) | |
| 102 | - | else if(tryb == "all") |
| 102 | + | |
| 103 | for(int z=1; z<79 ;z++) | |
| 104 | {
| |
| 105 | Kursor(z,i); | |
| 106 | cout << " "; | |
| 107 | } | |
| 108 | } | |
| 109 | for(int i=1; i<31 ;i++) | |
| 110 | {
| |
| 111 | for(int z=1; z<79 ;z++) | |
| 112 | {
| |
| 113 | Kursor(z,i); | |
| 114 | cout << " "; | |
| 115 | } | |
| 116 | } | |
| 117 | return; | |
| 118 | - | k=getch(); //która strzałka? 80-w dół, 72-wgórę |
| 118 | + | } |
| 119 | else if("all")
| |
| 120 | {
| |
| 121 | system("cls");
| |
| 122 | return; | |
| 123 | } | |
| 124 | else | |
| 125 | {
| |
| 126 | return; | |
| 127 | } | |
| 128 | } | |
| 129 | ||
| 130 | short klawisz() | |
| 131 | {
| |
| 132 | int k = getch(); | |
| 133 | k=static_cast<int>(k); | |
| 134 | ||
| 135 | if(k==224) //jeśli strzałki | |
| 136 | {
| |
| 137 | k=getch(); //która strzałka? 80-w dol, 72-wgórę | |
| 138 | k=static_cast<int>(k); // zamiana na typ int | |
| 139 | return k; | |
| 140 | } | |
| 141 | return k; | |
| 142 | } | |
| 143 | ||
| 144 | void rysujRamka() | |
| 145 | {
| |
| 146 | int dl_x = 100; | |
| 147 | int dl_y = 40; | |
| 148 | - | else if(i == 1 && z == 0.8*dl_x) //trójnik w dół |
| 148 | + | |
| 149 | for(int i=1; i <= dl_y ;i++) | |
| 150 | {
| |
| 151 | for(int z=1; z <= dl_x ;z++) | |
| 152 | {
| |
| 153 | if(i == 1 && z == 1) //lewy górny róg | |
| 154 | cout << (char)201; | |
| 155 | else if(i == 1 && z == dl_x) //prawy dolny róg | |
| 156 | cout << (char)187; | |
| 157 | else if(i == dl_y && z == 1) //lewy dolny róg | |
| 158 | cout << (char)200; | |
| 159 | else if(i == dl_y && z == dl_x) //prawy dolny róg | |
| 160 | cout << (char)188; | |
| 161 | else if(i == 32 && z == 1) // trójnik w lewo | |
| 162 | cout << (char)204; | |
| 163 | else if(i == 32 && z == dl_x) // trójnik w prawo | |
| 164 | cout << (char)185; | |
| 165 | else if(i == dl_y && z == 0.8*dl_x) //trójnik w górę | |
| 166 | - | COORD poz = {81,32+i};
|
| 166 | + | |
| 167 | - | uKursor poz); |
| 167 | + | else if(i == 1 && z == 0.8*dl_x) //trójnik w dol |
| 168 | cout << (char)203; | |
| 169 | else if(i == 32 && z == 0.8*dl_x) //skrzyżowanie | |
| 170 | cout << (char)206; | |
| 171 | else if(i == 1 || i == dl_y || i == 32) //znaki poziome | |
| 172 | cout << (char)205; | |
| 173 | else if(z == 1 || z == dl_x || z == 0.8*dl_x) // znaki pionowe | |
| 174 | cout << (char)186; | |
| 175 | else | |
| 176 | cout << " "; | |
| 177 | } | |
| 178 | cout<< endl; | |
| 179 | - | short wsk = 1; |
| 179 | + | |
| 180 | ||
| 181 | string okno[] = {"Autorzy:"," ", "Elfik & Karkrieg", " ","Kompilacja:"," "__DATE__};
| |
| 182 | ||
| 183 | - | " NarazieNic", |
| 183 | + | |
| 184 | {
| |
| 185 | Kursor(81,32+i); | |
| 186 | cout<< okno[i]; | |
| 187 | } | |
| 188 | ||
| 189 | return; | |
| 190 | - | for(short i = 0; i < 5 ;i++) |
| 190 | + | |
| 191 | ||
| 192 | - | COORD poz = {80,1+i};
|
| 192 | + | |
| 193 | - | uKursor poz); |
| 193 | + | |
| 194 | fstream mapa; | |
| 195 | mapa.open("poziom1.txt",ios::in );
| |
| 196 | ||
| 197 | //WPISYWANIE MAPY DO TABLICY ZNAKÓW | |
| 198 | for(int j=0; j<30 ;j++) | |
| 199 | {
| |
| 200 | for(int i=0; i<78 ;i++) | |
| 201 | - | COORD poz = {81,wsk+2};
|
| 201 | + | |
| 202 | - | uKursor poz); |
| 202 | + | |
| 203 | - | cout << " >>"; |
| 203 | + | |
| 204 | if ((int)poziom1[j][i]==46) | |
| 205 | {
| |
| 206 | poziom1[j][i]=' '; | |
| 207 | - | if(klik == 13) // Enter |
| 207 | + | |
| 208 | } | |
| 209 | - | if(wsk == 1) |
| 209 | + | |
| 210 | mapa.close(); | |
| 211 | - | gra(); |
| 211 | + | |
| 212 | ||
| 213 | void Kursor(int x,int y) | |
| 214 | - | else if(wsk == 2) |
| 214 | + | |
| 215 | COORD pozycja = {x,y};
| |
| 216 | SetConsoleCursorPosition(GetStdHandle(STD_OUTPUT_HANDLE), pozycja); | |
| 217 | return; | |
| 218 | - | else if(wsk == 3) |
| 218 | + | |
| 219 | ||
| 220 | void menuGlowne() | |
| 221 | {
| |
| 222 | ||
| 223 | while(1) | |
| 224 | {
| |
| 225 | ||
| 226 | //ZMIENNE AUTOMATYCZNE | |
| 227 | - | else if(klik == 72 && wsk > 1) // strzałka w górę |
| 227 | + | short wsk = 4; |
| 228 | short kier = 0; | |
| 229 | - | wsk--; |
| 229 | + | short x = 80; |
| 230 | - | uKursor poz); |
| 230 | + | |
| 231 | - | cout << " "; |
| 231 | + | |
| 232 | "===================", | |
| 233 | - | else if(klik == 80 && wsk < 3) // strzałka w dół |
| 233 | + | |
| 234 | " NowaGra", | |
| 235 | - | wsk++; |
| 235 | + | " Wyniki", |
| 236 | - | uKursor poz); |
| 236 | + | |
| 237 | - | cout << " "; |
| 237 | + | |
| 238 | //PRZYGOTOWANIE | |
| 239 | czysc("bezramki");
| |
| 240 | ||
| 241 | //WYPISANIE MENU GŁÓWNEGO | |
| 242 | for(short i = 0; i < sizeof(menu)/8 ;i++) | |
| 243 | {
| |
| 244 | Kursor(x,i+1); | |
| 245 | cout << menu[i]; | |
| 246 | } | |
| 247 | ||
| 248 | //REAKCJA NA KLAWISZ | |
| 249 | while(true) | |
| 250 | {
| |
| 251 | if(kier == 1) | |
| 252 | {
| |
| 253 | Kursor(x,wsk); | |
| 254 | - | int x; |
| 254 | + | cout << " "; |
| 255 | - | x=(int)poziom1[j][i]; |
| 255 | + | wsk--; |
| 256 | } | |
| 257 | - | if (x==46) |
| 257 | + | else if(kier == 2) |
| 258 | {
| |
| 259 | - | x=32; |
| 259 | + | Kursor(x,wsk); |
| 260 | - | poziom1[j][i]=(char)x; |
| 260 | + | cout << " "; |
| 261 | wsk++; | |
| 262 | } | |
| 263 | Kursor(x,wsk); | |
| 264 | cout << " >>"; | |
| 265 | ||
| 266 | short klik = klawisz(); // oczekiwanie na klawisz | |
| 267 | - | void gra(/*short slot,*/ int x, int y) |
| 267 | + | |
| 268 | if(klik == 72 && wsk > 4) // strzałka w górę | |
| 269 | - | int poz_x = x; |
| 269 | + | |
| 270 | - | int poz_y = y; |
| 270 | + | kier = 1; |
| 271 | - | int kroki = 0; |
| 271 | + | } |
| 272 | else if(klik == 80 && wsk < 6) // strzałka w dol | |
| 273 | {
| |
| 274 | kier = 2; | |
| 275 | } | |
| 276 | else | |
| 277 | {
| |
| 278 | kier = 0; | |
| 279 | } | |
| 280 | - | " M(e)nu Opcji:", |
| 280 | + | |
| 281 | if(klik == 13) // Enter | |
| 282 | - | " *Ekwipunek", |
| 282 | + | |
| 283 | - | " *Wyjdz ", |
| 283 | + | if(wsk == 4) |
| 284 | {
| |
| 285 | - | " Lokacja: Poziom 1", |
| 285 | + | gra(); // parametry startu |
| 286 | - | }; |
| 286 | + | |
| 287 | } | |
| 288 | else if(wsk == 5) | |
| 289 | - | for(short i = 0; i < 9 ;i++) |
| 289 | + | |
| 290 | wyniki(); | |
| 291 | - | if(i>6) |
| 291 | + | |
| 292 | else if(wsk == 6) | |
| 293 | - | COORD poz = {80,20+i};
|
| 293 | + | |
| 294 | - | uKursor poz); |
| 294 | + | |
| 295 | - | cout << menu[i]; |
| 295 | + | |
| 296 | else | |
| 297 | {
| |
| 298 | return; | |
| 299 | - | COORD poz = {80,1+i};
|
| 299 | + | |
| 300 | - | uKursor poz); |
| 300 | + | |
| 301 | - | cout << menu[i]; |
| 301 | + | |
| 302 | } | |
| 303 | } | |
| 304 | } | |
| 305 | - | //WYPISANIE EKRANU |
| 305 | + | |
| 306 | void gra() | |
| 307 | - | for(int w=0; w < 30 ;w++) |
| 307 | + | |
| 308 | //ZMIENNE AUTOMATYCZNE | |
| 309 | - | COORD poz = {1,w+1};
|
| 309 | + | string menu[] ={" Lokacja: Poziom 1",
|
| 310 | - | uKursor poz); |
| 310 | + | |
| 311 | " (W) Wyjscie ", | |
| 312 | - | for(int k=0; k < 78 ;k++) |
| 312 | + | " Punkty: ", |
| 313 | " Klucze: " | |
| 314 | - | if(w == poz_y && k == poz_x) |
| 314 | + | }; |
| 315 | - | {
|
| 315 | + | int punkty = 0; |
| 316 | - | cout << znaki[1]; |
| 316 | + | int highscore = 0; |
| 317 | - | } |
| 317 | + | int kroki = 0; |
| 318 | - | else |
| 318 | + | short sytuacja = 0; |
| 319 | - | {
|
| 319 | + | |
| 320 | - | cout<< poziom1[w][k]; |
| 320 | + | //PRZYGOTOWANIE |
| 321 | - | } |
| 321 | + | |
| 322 | czysc("menu");
| |
| 323 | - | cout<< endl; |
| 323 | + | |
| 324 | ||
| 325 | //WYPISANIE MAPY | |
| 326 | - | //ZEGAR |
| 326 | + | for(int w=0; w < 30 ;w++) |
| 327 | {
| |
| 328 | Kursor(1,w+1); | |
| 329 | ||
| 330 | - | short tryb = 0; |
| 330 | + | for(int k=0; k < 78 ;k++) |
| 331 | - | short sytuacja = 0; |
| 331 | + | |
| 332 | cout<< poziom1[w][k]; | |
| 333 | } | |
| 334 | cout<< endl; | |
| 335 | - | short klik = klawisz(); |
| 335 | + | |
| 336 | - | if(klik == 101 || klik == 69) tryb = 1; |
| 336 | + | |
| 337 | //WYPISANIE MENU | |
| 338 | - | if(tryb == 0) |
| 338 | + | Kursor(80,4); |
| 339 | cout<< menu[0]; | |
| 340 | - | COORD pozycja = {poz_x+1,poz_y+1};
|
| 340 | + | Kursor(80,30); |
| 341 | - | kursor; |
| 341 | + | cout << menu[2]; |
| 342 | - | cout << znaki[1]; |
| 342 | + | |
| 343 | //STEROWANIE | |
| 344 | - | if(klik == 72 && (poziom1[poz_y-1][poz_x] == (char)32 || poziom1[poz_y-1][poz_x] == znaki[2] || poziom1[poz_y-1][poz_x] == znaki[3] || poziom1[poz_y-1][poz_x] == znaki[5] || poziom1[poz_y-1][poz_x] == znaki[6] )) |
| 344 | + | char znak[] = {' ','T','C','o','K'};
|
| 345 | int poz_x = 1; | |
| 346 | - | kursor; |
| 346 | + | int poz_y = 21; |
| 347 | - | if(poziom1[poz_y][poz_x] == znaki[3])cout<<"T"; |
| 347 | + | char pZnak; |
| 348 | - | else cout << " "; |
| 348 | + | bool gora,dol,lewo,prawo; |
| 349 | - | poz_y--; |
| 349 | + | int klucz = 0; |
| 350 | - | kroki++; |
| 350 | + | bool chat = false; |
| 351 | ||
| 352 | - | else if(klik == 80 && (poziom1[poz_y+1][poz_x] == (char)32 || poziom1[poz_y+1][poz_x] == znaki[2] || poziom1[poz_y+1][poz_x] == znaki[3] || poziom1[poz_y+1][poz_x] == znaki[5] || poziom1[poz_y+1][poz_x] == znaki[6] )) |
| 352 | + | |
| 353 | {
| |
| 354 | - | kursor; |
| 354 | + | //RESETOWANIE MOŻLIWOŚĆI |
| 355 | - | if(poziom1[poz_y][poz_x] == znaki[3])cout<<"T"; |
| 355 | + | gora = false; |
| 356 | - | else cout << " "; |
| 356 | + | dol = false; |
| 357 | - | poz_y++; |
| 357 | + | lewo = false; |
| 358 | - | kroki++; |
| 358 | + | prawo = false; |
| 359 | ||
| 360 | - | else if(klik == 75 && (poziom1[poz_y][poz_x-1] == (char)32 || poziom1[poz_y][poz_x-1] == znaki[2] || poziom1[poz_y][poz_x-1] == znaki[3] || poziom1[poz_y][poz_x-1] == znaki[5] || poziom1[poz_y][poz_x-1] == znaki[6] )) |
| 360 | + | for(int i = 0; i < sizeof(znak) ;i++) // sprawdzenie przestrzeni dookoła naszego położenia |
| 361 | {
| |
| 362 | - | kursor; |
| 362 | + | if(poziom1[poz_y-1][poz_x] == znak[i]) |
| 363 | - | if(poziom1[poz_y][poz_x] == znaki[3])cout<<"T"; |
| 363 | + | gora = true; |
| 364 | - | else cout << " "; |
| 364 | + | if(poziom1[poz_y+1][poz_x] == znak[i]) |
| 365 | - | poz_x--; |
| 365 | + | dol = true; |
| 366 | - | kroki++; |
| 366 | + | if(poziom1[poz_y][poz_x-1] == znak[i]) |
| 367 | lewo = true; | |
| 368 | - | else if(klik == 77 && (poziom1[poz_y][poz_x+1] == (char)32 || poziom1[poz_y][poz_x+1] == znaki[2] || poziom1[poz_y][poz_x+1] == znaki[3] || poziom1[poz_y][poz_x+1] == znaki[5] || poziom1[poz_y][poz_x+1] == znaki[6] )) |
| 368 | + | if(poziom1[poz_y][poz_x+1] == znak[i]) |
| 369 | prawo = true; | |
| 370 | - | kursor; |
| 370 | + | } |
| 371 | - | if(poziom1[poz_y][poz_x] == znaki[3])cout<<"T"; |
| 371 | + | |
| 372 | - | else cout << " "; |
| 372 | + | Kursor(poz_x+1,poz_y+1); |
| 373 | - | poz_x++; |
| 373 | + | cout << znaki[1]; |
| 374 | - | kroki++; |
| 374 | + | |
| 375 | //LICZNIKI I EKWIPUNEK | |
| 376 | Kursor(80,22); | |
| 377 | - | if((poziom1[poz_y][poz_x+1] == '|')or(poziom1[poz_y][poz_x-1] == '|')) |
| 377 | + | cout << menu[1] << kroki; |
| 378 | Kursor(80,23); | |
| 379 | cout << menu[3] << punkty << " * 100"; | |
| 380 | - | if (klucz==false){komunikat("Drzwi - aby je otworzyc, znajdz klucz.");}
|
| 380 | + | |
| 381 | - | else if(klucz==true) |
| 381 | + | if(klucz > 0) |
| 382 | - | {
|
| 382 | + | {
|
| 383 | - | if (poziom1[poz_y][poz_x+1] == '|') |
| 383 | + | Kursor(80,20); |
| 384 | - | {
|
| 384 | + | cout << menu[4] << klucz; |
| 385 | - | poziom1[poz_y][poz_x+1] = ' '; |
| 385 | + | } |
| 386 | - | } |
| 386 | + | else |
| 387 | - | else if(poziom1[poz_y][poz_x-1] == '|') |
| 387 | + | {
|
| 388 | - | {
|
| 388 | + | Kursor(80,20); |
| 389 | - | poziom1[poz_y][poz_x-1] = ' '; |
| 389 | + | cout << " "; |
| 390 | - | } |
| 390 | + | } |
| 391 | - | komunikat("Otwarles drzwi!"); klucz=false;
|
| 391 | + | |
| 392 | - | } |
| 392 | + | //AKCJA |
| 393 | - | sytuacja = 1; |
| 393 | + | short klik = klawisz(); |
| 394 | ||
| 395 | - | else if(sytuacja == 1) |
| 395 | + | if(chat == true) |
| 396 | {
| |
| 397 | - | COORD poz_znaki[4] = {poz_x+1,poz_y+1};
|
| 397 | + | czysc("chat");
|
| 398 | - | sytuacja = 0; |
| 398 | + | chat = false; |
| 399 | - | czysc("chat");
|
| 399 | + | } |
| 400 | ||
| 401 | Kursor(poz_x+1,poz_y+1); | |
| 402 | cout << pZnak; | |
| 403 | pZnak = ' '; | |
| 404 | ||
| 405 | - | if(poziom1[poz_y][poz_x] == 'T') |
| 405 | + | if(klik == 72 && gora == true) |
| 406 | {
| |
| 407 | - | komunikat("Teleport - chcesz z niego skorzystac? T/N");
|
| 407 | + | poz_y--; |
| 408 | - | char t; |
| 408 | + | kroki++; |
| 409 | - | t=getch(); |
| 409 | + | } |
| 410 | - | switch(t) |
| 410 | + | else if(klik == 80 && dol == true) |
| 411 | - | {
|
| 411 | + | {
|
| 412 | - | case 't': |
| 412 | + | poz_y++; |
| 413 | - | {
|
| 413 | + | kroki++; |
| 414 | - | if(poz_x==39 && poz_y==12){poz_x={62};poz_y={27}; czysc("chat"); break;}
|
| 414 | + | } |
| 415 | - | else {poz_x={39};poz_y={12};czysc("chat"); break;}
|
| 415 | + | else if(klik == 75 && lewo == true) |
| 416 | - | } |
| 416 | + | {
|
| 417 | poz_x--; | |
| 418 | - | czysc("chat");
|
| 418 | + | kroki++; |
| 419 | } | |
| 420 | else if(klik == 77 && prawo == true) | |
| 421 | - | if(poziom1[poz_y][poz_x] == 'C') |
| 421 | + | {
|
| 422 | poz_x++; | |
| 423 | - | czysc("chat");
|
| 423 | + | kroki++; |
| 424 | - | komunikat("Znalazles klucz. Mozesz teraz otworzyc drzwi ( | )");
|
| 424 | + | } |
| 425 | - | sytuacja = 3; |
| 425 | + | else if(klik == 119 || klik == 87) |
| 426 | - | klucz = true; |
| 426 | + | return; |
| 427 | - | poziom1[poz_y][poz_x]=' '; |
| 427 | + | |
| 428 | if((poziom1[poz_y][poz_x+1] == '|')or(poziom1[poz_y][poz_x-1] == '|')) | |
| 429 | - | else if(sytuacja == 3) |
| 429 | + | |
| 430 | if (klucz < 1) | |
| 431 | - | sytuacja = 0; |
| 431 | + | {
|
| 432 | komunikat("Drzwi - aby je otworzyc, znajdz klucz.");
| |
| 433 | - | czysc("chat");
|
| 433 | + | chat = true; |
| 434 | } | |
| 435 | else | |
| 436 | - | if(poziom1[poz_y][poz_x] == 'K') |
| 436 | + | |
| 437 | if (poziom1[poz_y][poz_x+1] == '|') | |
| 438 | - | komunikat("KONIEC!");
|
| 438 | + | |
| 439 | - | getch(); |
| 439 | + | poziom1[poz_y][poz_x+1] = ' '; |
| 440 | - | sytuacja = 0; |
| 440 | + | |
| 441 | - | system("cls");
|
| 441 | + | else if(poziom1[poz_y][poz_x-1] == '|') |
| 442 | - | highscore = punkty-(1.5*kroki); |
| 442 | + | |
| 443 | - | if (highscore<=0)cout<<"\n\n\n\t\t\tTWOJ WYNIK: "<<"0"<<"\n\n\n"; |
| 443 | + | poziom1[poz_y][poz_x-1] = ' '; |
| 444 | - | else cout<<"\n\n\n\t\t\tTWOJ WYNIK: "<<highscore<<"\n\n\n"; |
| 444 | + | |
| 445 | - | getch(); |
| 445 | + | komunikat("Otwarles drzwi!");
|
| 446 | - | exit(0); |
| 446 | + | klucz--; |
| 447 | chat = true; | |
| 448 | } | |
| 449 | - | if(poziom1[poz_y][poz_x] == 'o') |
| 449 | + | |
| 450 | ||
| 451 | - | czysc("chat");
|
| 451 | + | if(poziom1[poz_y][poz_x] == 'T') |
| 452 | - | komunikat("Zebrales punkt!");
|
| 452 | + | |
| 453 | - | sytuacja = 4; |
| 453 | + | komunikat("Teleport - chcesz z niego skorzystac? T/N");
|
| 454 | - | punkty+=100; |
| 454 | + | char opcja = getch(); |
| 455 | - | poziom1[poz_y][poz_x]=' '; |
| 455 | + | |
| 456 | if(opcja == 't' || opcja == 'T') | |
| 457 | - | else if(sytuacja == 4) |
| 457 | + | {
|
| 458 | if(poz_x == 39 && poz_y == 12) | |
| 459 | - | sytuacja = 0; |
| 459 | + | {
|
| 460 | poz_x = 62; | |
| 461 | - | czysc("chat");
|
| 461 | + | poz_y = 27; |
| 462 | } | |
| 463 | else if(poz_x == 62 && poz_y == 12) | |
| 464 | - | COORD pozycja1 = {poz_x+1,poz_y+1};
|
| 464 | + | {
|
| 465 | - | kursor1; |
| 465 | + | poz_x = 39; |
| 466 | - | cout << znaki[1]; |
| 466 | + | poz_y = 12; |
| 467 | } | |
| 468 | - | //KROKI |
| 468 | + | } |
| 469 | - | COORD poz_kroki = {87,27};
|
| 469 | + | pZnak = 'T'; |
| 470 | - | uKursor poz_kroki); |
| 470 | + | chat = true; |
| 471 | - | cout << kroki; |
| 471 | + | |
| 472 | ||
| 473 | - | else if(tryb == 1) // menu boczne |
| 473 | + | if(poziom1[poz_y][poz_x] == 'C') |
| 474 | {
| |
| 475 | - | static short wsk_temp = 6; |
| 475 | + | komunikat("Znalazles klucz. Mozesz teraz otworzyc drzwi");
|
| 476 | klucz++; | |
| 477 | - | while(true) |
| 477 | + | chat = true; |
| 478 | poziom1[poz_y][poz_x]=' '; | |
| 479 | - | COORD poz = {92,wsk_temp};
|
| 479 | + | |
| 480 | - | uKursor poz); |
| 480 | + | |
| 481 | - | cout << "<<"; |
| 481 | + | if(poziom1[poz_y][poz_x] == 'o') |
| 482 | {
| |
| 483 | - | short klik_temp = klawisz(); |
| 483 | + | komunikat("Zebrales punkt!");
|
| 484 | punkty += 1; | |
| 485 | - | if(klik_temp == 72 && wsk_temp > 6) |
| 485 | + | chat = true; |
| 486 | poziom1[poz_y][poz_x]=' '; | |
| 487 | - | wsk_temp--; |
| 487 | + | |
| 488 | - | uKursor poz); |
| 488 | + | |
| 489 | - | cout << " "; |
| 489 | + | if(poziom1[poz_y][poz_x] == 'K') |
| 490 | {
| |
| 491 | - | else if(klik_temp == 80 & wsk_temp < 7) |
| 491 | + | komunikat("KONIEC!");
|
| 492 | Sleep(1000); | |
| 493 | - | wsk_temp++; |
| 493 | + | czysc("bezramki");
|
| 494 | - | uKursor poz); |
| 494 | + | |
| 495 | - | cout << " "; |
| 495 | + | highscore = punkty*100 - kroki; |
| 496 | if(highscore <= 0) | |
| 497 | - | else if(klik_temp == 69 || klik_temp == 101) |
| 497 | + | {
|
| 498 | highscore = 0; | |
| 499 | - | uKursor poz); |
| 499 | + | } |
| 500 | - | cout << " "; |
| 500 | + | |
| 501 | - | tryb = 0; |
| 501 | + | zapis(highscore); |
| 502 | return; | |
| 503 | } | |
| 504 | - | else if(klik_temp == 13) |
| 504 | + | } //koniec pętli 'while' |
| 505 | } | |
| 506 | - | if(wsk_temp == 6) |
| 506 | + | |
| 507 | - | {
|
| 507 | + | void zapis(int wynik) |
| 508 | - | czysc("chat");
|
| 508 | + | |
| 509 | - | if(klucz==true)komunikat("Klucz"); //Trzeba zrobić tak, żeby po wyjsciu czyściło okienko
|
| 509 | + | string nick; |
| 510 | czysc("bezramki");
| |
| 511 | - | } |
| 511 | + | |
| 512 | - | else if(wsk_temp == 7) |
| 512 | + | Kursor(2,2); |
| 513 | - | {
|
| 513 | + | cout << "Twoj wynik: " << wynik; |
| 514 | - | return; |
| 514 | + | Kursor(2,3); |
| 515 | - | } |
| 515 | + | cout << "Podaj nick: "; |
| 516 | - | else if(klik_temp=='e')czysc("chat");
|
| 516 | + | cin >> nick; |
| 517 | ||
| 518 | fstream save; | |
| 519 | save.open("highscores.txt", ios::app);
| |
| 520 | ||
| 521 | save << endl << nick << " " << wynik; | |
| 522 | ||
| 523 | Sleep(1000); | |
| 524 | save.close(); | |
| 525 | - | COORD poz = {2,33};
|
| 525 | + | |
| 526 | - | uKursor poz); |
| 526 | + | |
| 527 | void wyniki() | |
| 528 | {
| |
| 529 | string nazwa[10] = {""};
| |
| 530 | int wynik[10] = {0};
| |
| 531 | int l; | |
| 532 | string imie; | |
| 533 | int liczba; | |
| 534 | ||
| 535 | czysc("gra");
| |
| 536 | fstream plik; | |
| 537 | plik.open("highscores.txt");
| |
| 538 | ||
| 539 | for(l = 0; plik.is_open() ;l++) | |
| 540 | {
| |
| 541 | if(plik.eof()) | |
| 542 | {
| |
| 543 | plik.close(); | |
| 544 | break; | |
| 545 | } | |
| 546 | ||
| 547 | plik >> imie >> liczba; | |
| 548 | ||
| 549 | nazwa[l] = imie; | |
| 550 | wynik[l] = liczba; | |
| 551 | } | |
| 552 | ||
| 553 | ||
| 554 | for(int i = 0; i < l ;i++) | |
| 555 | {
| |
| 556 | for(int z = 0; z < l ;z++) | |
| 557 | {
| |
| 558 | if(wynik[z] < wynik[z+1]) | |
| 559 | {
| |
| 560 | swap(wynik[z],wynik[z+1]); | |
| 561 | swap(nazwa[z],nazwa[z+1]); | |
| 562 | } | |
| 563 | } | |
| 564 | } | |
| 565 | ||
| 566 | Kursor(2,2); | |
| 567 | cout << "Najlepsze wyniki: "; | |
| 568 | ||
| 569 | for(int i = 0; i < 10 ;i++) | |
| 570 | {
| |
| 571 | ||
| 572 | Kursor(2,i+5); | |
| 573 | if(wynik[i] == 0) | |
| 574 | {
| |
| 575 | continue; | |
| 576 | } | |
| 577 | else | |
| 578 | {
| |
| 579 | cout << i+1 << ". " << nazwa[i] << " - " << wynik[i]; | |
| 580 | } | |
| 581 | } | |
| 582 | ||
| 583 | Kursor(2,30); | |
| 584 | cout<< "(W)Wyjscie"; | |
| 585 | ||
| 586 | while(1) | |
| 587 | {
| |
| 588 | char w = getch(); | |
| 589 | if(w == 'w' || w == 'W') | |
| 590 | {
| |
| 591 | czysc("gra");
| |
| 592 | return; | |
| 593 | } | |
| 594 | } | |
| 595 | ||
| 596 | } | |
| 597 | ||
| 598 | void komunikat(string tekst) | |
| 599 | {
| |
| 600 | Kursor(2,33); | |
| 601 | cout << tekst; | |
| 602 | return; | |
| 603 | } |