Advertisement
Guest User

Untitled

a guest
Dec 8th, 2019
118
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 11.68 KB | None | 0 0
  1. #include "biblioteki.h"
  2.  
  3. using namespace std;
  4.  
  5. int szerokosc=25, wysokosc=25, ruchX, ruchY, pktX=szerokosc+4, pktY=wysokosc/2+5, strzalX, strzalY, punkt_zbieranie, punkt_strzelanie, poziom_trudnosci=800;
  6. bool g_z=false, g_s=false;
  7. char c;
  8.  
  9. void wspolrzedne(int x,int y)
  10. {
  11. COORD coord;
  12. coord.X=x;
  13. coord.Y=y;
  14. SetConsoleCursorPosition(GetStdHandle(STD_OUTPUT_HANDLE), coord);
  15. }
  16.  
  17. void rysowanie_mapy()
  18. {
  19. //Panel górny
  20. wspolrzedne(5,3);
  21. cout<<char(201);
  22. for(int a=3;a<=szerokosc;a++) cout<<char(205)<<char(205);
  23. cout<<char(187);
  24. for(int b=2;b<=wysokosc;b++){
  25. wspolrzedne(5,4);
  26. cout<<char(186);
  27. for(int c=3;c<=szerokosc;c++) cout<<" ";
  28. cout<<char(186)<<endl;
  29. }
  30.  
  31. //Œciana górna
  32. wspolrzedne(5,5);
  33. cout<<char(204);
  34. for(int a=3;a<=szerokosc;a++) cout<<char(205)<<char(205);
  35. cout<<char(185)<<endl;
  36.  
  37. //Œciany boczne
  38. for(int b=2;b<=wysokosc;b++){
  39. wspolrzedne(5,4+b);
  40. cout<<char(186);
  41. for(int c=3;c<=szerokosc;c++) cout<<" ";
  42. cout<<char(186)<<endl;
  43. }
  44.  
  45. //Œciana dolna
  46. wspolrzedne(5,wysokosc+5);
  47. cout<<char(200);
  48. for(int a=3;a<=szerokosc;a++) cout<<char(205)<<char(205);
  49. cout<<char(188)<<endl;
  50. }
  51.  
  52. void ruch_punktu()
  53. {
  54. int kierunek_punktu;
  55. SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),5);
  56.  
  57. srand(time(NULL));
  58. kierunek_punktu = rand()%4 + 1;
  59.  
  60. if(kierunek_punktu == 1){
  61. if(pktY > 6){
  62. wspolrzedne(pktX,pktY);
  63. cout<<" ";
  64. pktY--;
  65. wspolrzedne(pktX,pktY);
  66. cout<<char(158);
  67. }
  68. else{
  69. wspolrzedne(pktX,pktY);
  70. cout<<" ";
  71. pktY++;
  72. wspolrzedne(pktX,pktY);
  73. cout<<char(158);
  74. }
  75. }
  76. else if(kierunek_punktu == 2){
  77. if(pktY < (wysokosc - 1 + 5)){
  78. wspolrzedne(pktX,pktY);
  79. cout<<" ";
  80. pktY++;
  81. wspolrzedne(pktX,pktY);
  82. cout<<char(158);
  83. }
  84. else{
  85. wspolrzedne(pktX,pktY);
  86. cout<<" ";
  87. pktY--;
  88. wspolrzedne(pktX,pktY);
  89. cout<<char(158);
  90. }
  91. }
  92. else if(kierunek_punktu == 3){
  93. if(pktX > 6){
  94. wspolrzedne(pktX,pktY);
  95. cout<<" ";
  96. pktX--;
  97. wspolrzedne(pktX,pktY);
  98. cout<<char(158);
  99. }
  100. else{
  101. wspolrzedne(pktX,pktY);
  102. cout<<" ";
  103. pktX++;
  104. wspolrzedne(pktX,pktY);
  105. cout<<char(158);
  106. }
  107. }
  108. else if(kierunek_punktu == 4){
  109. if(pktX < (szerokosc*2 - 4 + 5)){
  110. wspolrzedne(pktX,pktY);
  111. cout<<" ";
  112. pktX++;
  113. wspolrzedne(pktX,pktY);
  114. cout<<char(158);
  115. }
  116. else{
  117. wspolrzedne(pktX,pktY);
  118. cout<<" ";
  119. pktX--;
  120. wspolrzedne(pktX,pktY);
  121. cout<<char(158);
  122. }
  123. }
  124.  
  125. }
  126.  
  127. void ruch_punktu_g_s()
  128. {
  129. int kierunek_puntu;
  130. SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),5);
  131.  
  132. srand(time(NULL));
  133. kierunek_puntu = rand()%2 + 1;
  134.  
  135. if(kierunek_puntu == 1){
  136. if(pktX > 6){
  137. wspolrzedne(pktX,pktY);
  138. cout<<" ";
  139. pktX--;
  140. wspolrzedne(pktX,pktY);
  141. cout<<char(158);
  142. }
  143. else{
  144. wspolrzedne(pktX,pktY);
  145. cout<<" ";
  146. pktX++;
  147. wspolrzedne(pktX,pktY);
  148. cout<<char(158);
  149. }
  150. }
  151. else if(kierunek_puntu == 2){
  152. if(pktX < (szerokosc*2 - 4 + 5)){
  153. wspolrzedne(pktX,pktY);
  154. cout<<" ";
  155. pktX++;
  156. wspolrzedne(pktX,pktY);
  157. cout<<char(158);
  158. }
  159. else{
  160. wspolrzedne(pktX,pktY);
  161. cout<<" ";
  162. pktX--;
  163. wspolrzedne(pktX,pktY);
  164. cout<<char(158);
  165. }
  166. }
  167. }
  168.  
  169. void ruch_strzaly()
  170. {
  171. int wys_s = wysokosc;
  172.  
  173. if(c == 'w'){
  174. wspolrzedne(ruchX, wys_s);
  175. cout<<char(193);
  176. wys_s--;
  177. }
  178. }
  179.  
  180. void punkty()
  181. {
  182. if((ruchX == pktX) && (ruchY == pktY)){
  183. if(g_z==true) punkt_zbieranie++;
  184. else if(g_s==true) punkt_strzelanie++;
  185.  
  186. SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),5);
  187. srand(time(NULL));
  188. if(g_z == true){
  189. pktX=rand()%(szerokosc*2-4) + 6;
  190. pktY=rand()%(wysokosc-1) + 6;
  191. wspolrzedne(pktX,pktY);
  192. cout<<char(158);
  193. }
  194. else if(g_s == true){
  195. pktX=rand()%(szerokosc*2-3) + 6;
  196. pktY=rand()%(wysokosc) + 6;
  197. wspolrzedne(pktX,pktY);
  198. cout<<char(158);
  199. }
  200. }
  201. }
  202.  
  203. void ruch()
  204. {
  205. if(g_z == true){
  206. if(c == 'w'){
  207. if(ruchY > 6) ruchY--;
  208. }
  209. else if(c == 's'){
  210. if(ruchY < (wysokosc - 1 + 5)) ruchY++;
  211. }
  212. else if(c == 'a'){
  213. if(ruchX > 6) ruchX--;
  214. }
  215. else if(c == 'd'){
  216. if(ruchX < (szerokosc*2 - 4 + 5)) ruchX++;
  217. }
  218. }
  219. else if(g_s == true){
  220. if(c == 'a'){
  221. if(ruchX > 6) ruchX--;
  222. }
  223. else if(c == 'd'){
  224. if(ruchX < (szerokosc*2 - 4 + 5)) ruchX++;
  225. }
  226. }
  227. }
  228.  
  229. void gra_strzelanie()
  230. {
  231. int odswiezanie=0;
  232.  
  233. system("cls");
  234. g_s=true;
  235.  
  236. srand(time(NULL));
  237. ruchX=rand()%(szerokosc*2-4) + 6;
  238. ruchY=wysokosc + 4;
  239.  
  240. rysowanie_mapy();
  241. SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),10);
  242. wspolrzedne(szerokosc*2-11,4);
  243. cout<<"Menu = ENTER";
  244. wspolrzedne(7, 4);
  245. cout<<"Wynik: ";
  246.  
  247. SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),5);
  248. wspolrzedne(pktX,pktY);
  249. cout<<char(158);
  250.  
  251. while(c != char(13)){
  252. odswiezanie++;
  253. if(odswiezanie == poziom_trudnosci){
  254. odswiezanie = 0;
  255. ruch_punktu_g_s();
  256. }
  257.  
  258. punkty();
  259. SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),10);
  260. wspolrzedne(ruchX,ruchY);
  261. cout<<char(254);
  262.  
  263. wspolrzedne(14, 4);
  264. cout<<punkt_strzelanie;
  265.  
  266. if(_kbhit() == 1){
  267. c=getch();
  268. wspolrzedne(ruchX,ruchY);
  269. cout<<" ";
  270. ruch();
  271. }
  272. else if(_kbhit() == 1){
  273. c=getch();
  274. if(odswiezanie == poziom_trudnosci){
  275. odswiezanie = 0;
  276. ruch_strzaly();
  277. }
  278. }
  279. }
  280.  
  281. system("cls");
  282. g_s=false;
  283. }
  284.  
  285. void gra_zbieranie()
  286. {
  287. int odswiezanie=0;
  288.  
  289. system("cls");
  290. g_z=true;
  291.  
  292. srand(time(NULL));
  293. ruchX=rand()%(szerokosc*2-4) + 6;
  294. ruchY=rand()%(wysokosc-1) + 6;
  295. if((ruchX == pktX) && (ruchY == pktY)){
  296. ruchX--;
  297. ruchY--;
  298. }
  299.  
  300. rysowanie_mapy();
  301. SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),10);
  302. wspolrzedne(szerokosc*2-11,4);
  303. cout<<"Menu = ENTER";
  304. wspolrzedne(7, 4);
  305. cout<<"Wynik: ";
  306.  
  307. SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),5);
  308. wspolrzedne(pktX,pktY);
  309. cout<<char(158);
  310.  
  311. while(c != char(13)){
  312. odswiezanie++;
  313. if(odswiezanie == poziom_trudnosci){
  314. odswiezanie = 0;
  315. ruch_punktu();
  316. }
  317.  
  318. punkty();
  319. SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),10);
  320. wspolrzedne(ruchX,ruchY);
  321. cout<<char(254);
  322.  
  323. wspolrzedne(14, 4);
  324. cout<<punkt_zbieranie;
  325.  
  326. if(_kbhit() == 1){
  327. c=getch();
  328. wspolrzedne(ruchX,ruchY);
  329. cout<<" ";
  330. ruch();
  331. }
  332. }
  333.  
  334. system("cls");
  335. g_z=false;
  336. }
  337.  
  338. void ustawienia()
  339. {
  340. string ustawienia_wybor;
  341. int wybor_szerokosci, wybor_wysokosci;
  342.  
  343. system("cls");
  344. cout<<"USTAWIENIA"<<endl;
  345. cout<<"1. Zmien rozmiar mapy"<<endl;
  346. cout<<"2. Zmien poziom trudnosci"<<endl;
  347. cout<<"3. Wyjdz do menu"<<endl;
  348. cout<<"> ";
  349. cin>>ustawienia_wybor;
  350.  
  351. if(ustawienia_wybor == "1"){
  352. system("cls");
  353. cout<<"(Zakres 25-35) Zmien szerokosc z '"<<szerokosc<<"' na: ";
  354. cin>>wybor_szerokosci;
  355. cout<<"(Zakres 25-35) Zmien wysokosc z '"<<wysokosc<<"' na: ";
  356. cin>>wybor_wysokosci;
  357.  
  358. if((wybor_szerokosci>35 || wybor_szerokosci<25) || (wybor_wysokosci>35 || wybor_wysokosci<25)){
  359. cout<<endl<<"Zla wartosc!"<<endl;
  360. Sleep(500);
  361. system("cls");
  362. ustawienia();
  363. }
  364. else{
  365. szerokosc=wybor_szerokosci;
  366. wysokosc=wybor_wysokosci;
  367. }
  368.  
  369. cout<<endl<<"Pomyslnie zmieniono rozmiar mapy!"<<endl;
  370. Sleep(500);
  371. ustawienia();
  372. }
  373. else if(ustawienia_wybor == "2"){
  374. string poziom_trudnosci_wybor;
  375.  
  376. system("cls");
  377. cout<<"1. Latwy";
  378. if(poziom_trudnosci == 800) cout<<" <- WYBRANY"<<endl;
  379. else cout<<endl;
  380. cout<<"2. Sredni";
  381. if(poziom_trudnosci == 600) cout<<" <- WYBRANY"<<endl;
  382. else cout<<endl;
  383. cout<<"3. Trudny";
  384. if(poziom_trudnosci == 400) cout<<" <- WYBRANY"<<endl;
  385. else cout<<endl;
  386. cout<<"> ";
  387. cin>>poziom_trudnosci_wybor;
  388.  
  389. if(poziom_trudnosci_wybor == "1") poziom_trudnosci = 800;
  390. else if(poziom_trudnosci_wybor == "2") poziom_trudnosci = 600;
  391. else if(poziom_trudnosci_wybor == "3") poziom_trudnosci = 400;
  392. else{
  393. cout<<endl<<"Nie ma takiej opcji!"<<endl;
  394. Sleep(500);
  395. system("cls");
  396. ustawienia();
  397. }
  398. }
  399. else if(ustawienia_wybor == "3"){
  400. system("cls");
  401. }
  402. else{
  403. cout<<endl<<"Nie ma takiej opcji!"<<endl;
  404. Sleep(500);
  405. system("cls");
  406. ustawienia();
  407. }
  408. }
  409.  
  410. void jak_grac()
  411. {
  412. string jak_grac_wybor;
  413.  
  414. system("cls");
  415. cout<<" - - - JAK GRAC? - - - "<<endl;
  416. cout<<"1. Ruch"<<endl;
  417. cout<<"2. Wyjdz"<<endl;
  418. cout<<"> ";
  419. cin>>jak_grac_wybor;
  420.  
  421. if(jak_grac_wybor == "1"){
  422. system("cls");
  423. cout<<"Wyjscie z gry do menu - 'ENTER'"<<endl;
  424. cout<<"Gora - 'W'"<<endl;
  425. cout<<"Dol - 'S'"<<endl;
  426. cout<<"Lewo - 'A'"<<endl;
  427. cout<<"Prawo - 'D'"<<endl;
  428. cout<<endl;
  429. cout<<"Kliknij wybrany przycisk aby wyjsc do menu"<<endl;
  430. getch();
  431. system("cls");
  432. }
  433. else if(jak_grac_wybor == "2"){
  434. system("cls");
  435. }
  436. else{
  437. cout<<endl<<"Nie ma takiej opcji!"<<endl;
  438. Sleep(500);
  439. system("cls");
  440. jak_grac();
  441. }
  442.  
  443. }
  444.  
  445. int menu()
  446. {
  447. for(;;){
  448. string menu_wybor;
  449.  
  450. c = char(178);
  451. system("cls");
  452.  
  453. SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),3);
  454. cout<<" - - - Witaj! - - - "<<endl;
  455. cout<<"1. Gra - zbieranie"<<endl;
  456. cout<<"2. Gra - strzelanie"<<endl;
  457. cout<<"3. Jak grac?"<<endl;
  458. cout<<"4. Ustawienia"<<endl;
  459. cout<<"5. Wyjdz"<<endl;
  460. cout<<"> ";
  461. cin>>menu_wybor;
  462.  
  463. if(menu_wybor == "1") gra_zbieranie();
  464. else if(menu_wybor == "2") gra_strzelanie();
  465. else if(menu_wybor == "3") jak_grac();
  466. else if(menu_wybor == "4") ustawienia();
  467. else if(menu_wybor == "5"){
  468. system("cls");
  469. return 0;
  470. }
  471. else{
  472. cout<<endl<<"Nie ma takiej opcji!"<<endl;
  473. Sleep(500);
  474. system("cls");
  475. menu();
  476. }
  477. }
  478. }
  479.  
  480. int main()
  481. {
  482. menu();
  483.  
  484. return 0;
  485. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement