Advertisement
Guest User

Untitled

a guest
Sep 17th, 2019
111
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 9.53 KB | None | 0 0
  1. #include<iostream>
  2. #include<conio.h>
  3. #include<time.h>
  4. #include<windows.h>
  5. using namespace std;
  6.  
  7. int player_1 = 0, player_2 = 0;
  8.  
  9. int stop = 0;
  10. int liczydlo;
  11. float czas;
  12. float old_czas;
  13. int kierunek;
  14. int predkosc;
  15. int ball = 886;
  16. char key;
  17. int wolna;
  18. int hero1 = 847, hero1_1, hero1_2, hero1_3, hero1_4;
  19. int hero2 = 923, hero2_1, hero2_2, hero2_3, hero2_4;
  20. char map[ 1771 ];
  21.  
  22.  
  23. void nadpis( const int x, const int y )
  24. {
  25. HANDLE hCon = GetStdHandle( STD_OUTPUT_HANDLE );
  26. COORD coord = { x, y };
  27. SetConsoleCursorPosition( hCon, coord );
  28. }
  29.  
  30. void CreateMap()
  31. {
  32. cout << char( 201 ) << char( 205 ) << char( 205 ) << char( 205 ) << char( 205 ) << char( 205 ) << char( 205 ) << char( 205 ) << char( 205 ) << char( 205 ) << char( 205 ) << char( 205 ) << char( 205 ) << char( 205 ) << char( 205 ) << char( 205 ) << char( 205 ) << char( 205 ) << char( 205 ) << char( 205 ) << char( 205 ) << char( 205 ) << char( 205 ) << char( 205 ) << char( 205 ) << char( 205 ) << char( 205 ) << char( 205 ) << char( 205 ) << char( 205 ) << char( 205 ) << char( 205 ) << char( 205 ) << char( 205 ) << char( 205 ) << char( 205 ) << char( 205 ) << char( 205 ) << char( 205 ) << char( 205 ) << char( 205 ) << char( 205 ) << char( 205 ) << char( 205 ) << char( 205 ) << char( 205 ) << char( 205 ) << char( 205 ) << char( 205 ) << char( 205 ) << char( 205 ) << char( 205 ) << char( 205 ) << char( 205 ) << char( 205 ) << char( 205 ) << char( 205 ) << char( 205 ) << char( 205 ) << char( 205 ) << char( 205 ) << char( 205 ) << char( 205 ) << char( 205 ) << char( 205 ) << char( 205 ) << char( 205 ) << char( 205 ) << char( 205 ) << char( 205 ) << char( 205 ) << char( 205 ) << char( 205 ) << char( 205 ) << char( 205 ) << char( 205 ) << char( 205 ) << char( 205 ) << char( 187 ) << endl;
  33. for( int i = 0; i < 23; i += 1 )
  34. {
  35. cout << char( 186 );
  36. for( int y = 0; y < 77; y += 1 )
  37. {
  38. cout << " ";
  39. }
  40. cout << char( 186 ) << endl;
  41. }
  42. cout << char( 200 ) << char( 205 ) << char( 205 ) << char( 205 ) << char( 205 ) << char( 205 ) << char( 205 ) << char( 205 ) << char( 205 ) << char( 205 ) << char( 205 ) << char( 205 ) << char( 205 ) << char( 205 ) << char( 205 ) << char( 205 ) << char( 205 ) << char( 205 ) << char( 205 ) << char( 205 ) << char( 205 ) << char( 205 ) << char( 205 ) << char( 205 ) << char( 205 ) << char( 205 ) << char( 205 ) << char( 205 ) << char( 205 ) << char( 205 ) << char( 205 ) << char( 205 ) << char( 205 ) << char( 205 ) << char( 205 ) << char( 205 ) << char( 205 ) << char( 205 ) << char( 205 ) << char( 205 ) << char( 205 ) << char( 205 ) << char( 205 ) << char( 205 ) << char( 205 ) << char( 205 ) << char( 205 ) << char( 205 ) << char( 205 ) << char( 205 ) << char( 205 ) << char( 205 ) << char( 205 ) << char( 205 ) << char( 205 ) << char( 205 ) << char( 205 ) << char( 205 ) << char( 205 ) << char( 205 ) << char( 205 ) << char( 205 ) << char( 205 ) << char( 205 ) << char( 205 ) << char( 205 ) << char( 205 ) << char( 205 ) << char( 205 ) << char( 205 ) << char( 205 ) << char( 205 ) << char( 205 ) << char( 205 ) << char( 205 ) << char( 205 ) << char( 205 ) << char( 205 ) << char( 188 ) << endl;
  43. wolna = 0;
  44. for( int a = 0; a < 23; a += 1 )
  45. {
  46. for( int b = 0; b < 77; b += 1 )
  47. {
  48. map[ wolna ] = ' ';
  49. wolna += 1;
  50. }
  51.  
  52. }
  53. }
  54.  
  55. void ruch()
  56. {
  57. if( key == 112 & hero2 != 230 ) { hero2 -= 77; }
  58. else if( key == 119 & hero1 != 154 ) { hero1 -= 77; }
  59. else if( key == 108 & hero2 != 1616 ) { hero2 += 77; }
  60. else if( key == 115 & hero1 != 1540 ) { hero1 += 77; }
  61. }
  62. void DrawMap()
  63. {
  64. int licz = 1;
  65. int licz2 = 1;
  66.  
  67. wolna = 0;
  68. hero1_1 = hero1 - 77;
  69. hero1_2 = hero1_1 - 77;
  70. hero1_3 = hero1 + 77;
  71. hero1_4 = hero1_3 + 77;
  72. hero2_1 = hero2 - 77;
  73. hero2_2 = hero2_1 - 77;
  74. hero2_3 = hero2 + 77;
  75. hero2_4 = hero2_3 + 77;
  76.  
  77. map[ hero1 ] = 1;
  78. map[ hero1_1 ] = 1;
  79. map[ hero1_2 ] = 1;
  80. map[ hero1_3 ] = 1;
  81. map[ hero1_4 ] = 1;
  82. map[ hero2 ] = 1;
  83. map[ hero2_1 ] = 1;
  84. map[ hero2_2 ] = 1;
  85. map[ hero2_3 ] = 1;
  86. map[ hero2_4 ] = 1;
  87.  
  88. map[ ball ] = 15;
  89. for( int a = 0; a < 23; a += 1 )
  90. {
  91. nadpis( 1, licz );
  92. if( wolna != hero1 & wolna != hero1_1 & wolna != hero1_2 & wolna != hero1_3 & wolna != hero1_4 ) { map[ wolna ] = ' '; };
  93. if( wolna + 76 != hero2 & wolna + 76 != hero2_1 & wolna + 76 != hero2_2 & wolna + 76 != hero2_3 & wolna + 76 != hero2_4 ) { map[ wolna + 76 ] = ' '; };
  94. for( int b = 0; b < 77; b += 1 )
  95. {
  96. cout << map[ wolna ];
  97. wolna += 1;
  98. }
  99. licz += 1;
  100. }
  101. nadpis( 0, 25 );
  102. cout << " Player 1 : " << player_1;
  103. nadpis( 65, 25 );
  104. cout << player_2 << " : Player 2 " << endl;
  105. }
  106.  
  107. void ruch_ball()
  108. {
  109. for( int ii = 0; ii < 77; ii += 1 )
  110. {
  111. if( ball == ii & kierunek == 1 ) { kierunek = 2; }
  112. if( ball == ii & kierunek == 3 ) { kierunek = 4; }
  113. }
  114.  
  115. for( int iii = 1693; iii < 1771; iii += 1 )
  116. {
  117. if( ball == iii & kierunek == 2 ) { kierunek = 1; }
  118. if( ball == iii & kierunek == 4 ) { kierunek = 3; }
  119. }
  120. map[ ball ] = ' ';
  121. if( kierunek == 1 )
  122. {
  123. if( predkosc == 1 )
  124. {
  125. ball -= 1;
  126. liczydlo += 1;
  127. if( liczydlo == 4 )
  128. {
  129. ball -= 77;
  130. liczydlo = 0;
  131. }
  132. } else if( predkosc == 2 )
  133. {
  134. ball -= 1;
  135. liczydlo += 1;
  136. if( liczydlo == 2 )
  137. {
  138. ball -= 77;
  139. liczydlo = 0;
  140. }
  141. }
  142.  
  143. } else if( kierunek == 2 )
  144. {
  145. if( predkosc == 1 )
  146. {
  147. ball -= 1;
  148. liczydlo += 1;
  149. if( liczydlo == 4 )
  150. {
  151. ball += 77;
  152. liczydlo = 0;
  153. }
  154. } else if( predkosc == 2 )
  155. {
  156. ball -= 1;
  157. liczydlo += 1;
  158. if( liczydlo == 2 )
  159. {
  160. ball += 77;
  161. liczydlo = 0;
  162. }
  163. }
  164.  
  165. } else if( kierunek == 3 )
  166. {
  167. if( predkosc == 1 )
  168. {
  169. ball += 1;
  170. liczydlo += 1;
  171. if( liczydlo == 4 )
  172. {
  173. ball -= 77;
  174. liczydlo = 0;
  175. }
  176. } else if( predkosc == 2 )
  177. {
  178. ball += 1;
  179. liczydlo += 1;
  180. if( liczydlo == 2 )
  181. {
  182. ball -= 77;
  183. liczydlo = 0;
  184. }
  185. }
  186.  
  187. } else if( kierunek == 4 )
  188. {
  189. if( predkosc == 1 )
  190. {
  191. ball += 1;
  192. liczydlo += 1;
  193. if( liczydlo == 4 )
  194. {
  195. ball += 77;
  196. liczydlo = 0;
  197. }
  198. } else if( predkosc == 2 )
  199. {
  200. ball += 1;
  201. liczydlo += 1;
  202. if( liczydlo == 2 )
  203. {
  204. ball += 77;
  205. liczydlo = 0;
  206. }
  207. }
  208.  
  209. } else if( kierunek == 5 )
  210. {
  211. ball -= 1;
  212. } else if( kierunek == 6 )
  213. {
  214. ball += 1;
  215. }
  216.  
  217. }
  218.  
  219. void odbicie()
  220. {
  221. if( ball == hero1 + 1 )
  222. {
  223. kierunek = 6;
  224. } else if( ball == hero1_1 + 1 )
  225. {
  226. kierunek = 3;
  227. predkosc = 1;
  228. } else if( ball == hero1_2 + 1 )
  229. {
  230. kierunek = 3;
  231. predkosc = 2;
  232. } else if( ball == hero1_3 + 1 )
  233. {
  234. kierunek = 4;
  235. predkosc = 1;
  236. } else if( ball == hero1_4 + 1 )
  237. {
  238. kierunek = 4;
  239. predkosc = 2;
  240. }
  241.  
  242. if( ball + 1 == hero2 - 1 )
  243. {
  244. kierunek = 5;
  245. } else if( ball == hero2_1 - 1 )
  246. {
  247. kierunek = 1;
  248. predkosc = 1;
  249. } else if( ball == hero2_2 - 1 )
  250. {
  251. kierunek = 1;
  252. predkosc = 2;
  253. } else if( ball == hero2_3 - 1 )
  254. {
  255. kierunek = 2;
  256. predkosc = 1;
  257. } else if( ball == hero2_4 - 1 )
  258. {
  259. kierunek = 2;
  260. predkosc = 2;
  261. }
  262.  
  263. }
  264.  
  265. void punkt()
  266. {
  267. int test = 0;
  268. for( int u = 0; u < 23; u += 1 )
  269. {
  270. if( ball == test ) { player_1 += 1; stop = 1; break; }
  271. else if( ball == test + 76 ) { player_2 += 1; stop = 1; break; }
  272. if( stop == 0 ) { test += 77; }
  273. }
  274. }
  275.  
  276. void losuj()
  277. {
  278. time_t t;
  279. srand(( unsigned ) time( & t ) );
  280. int nr_los = rand() % 5 + 1;
  281. int nr_loss = rand() % 1 + 1;
  282. ball = 886;
  283. kierunek = nr_los;
  284. predkosc = nr_loss;
  285.  
  286. nadpis( 30, 25 );
  287. cout << "Nacisnij Klawisz by dalej grac" << endl;
  288. getch();
  289. stop = 0;
  290. nadpis( 30, 25 );
  291. cout << " " << endl;
  292. }
  293.  
  294. int main()
  295. {
  296. kierunek = 3;
  297. predkosc = 2;
  298.  
  299.  
  300. liczydlo = 0;
  301. cout << "Player 1 sterowanie: W - Gora, S - Dol" << endl << "Player 2 sterowanie: P - Gora, L - Dol" << endl << "Press Key To Start Game" << endl;
  302. getch();
  303. system( "cls" );
  304. CreateMap();
  305. old_czas = 0;
  306. do
  307. {
  308. czas = clock() / 125;
  309. if( czas > old_czas )
  310. {
  311. old_czas = czas;
  312. key = 0;
  313. if( kbhit() )
  314. {
  315. key = getch();
  316. }
  317. ruch_ball();
  318. ruch();
  319. DrawMap();
  320. odbicie();
  321. punkt();
  322. if( stop == 1 ) { losuj(); }
  323. }
  324. } while( key != 27 );
  325.  
  326. cout << endl << char( 1 ) << char( 2 ) << endl;
  327. getch();
  328. return 0;
  329. };
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement