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 | } |