Advertisement
Guest User

Untitled

a guest
Apr 1st, 2020
163
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 7.05 KB | None | 0 0
  1. //made by darth liutas
  2. #include <SFML/Network.hpp>
  3.  
  4. #include <time.h>
  5.  
  6. #include <SFML/graphics.hpp>
  7.  
  8. #include <iostream>
  9.  
  10. #include <thread>
  11.  
  12. #include <vector>
  13.  
  14. #include <string>
  15.  
  16. #include <chrono>
  17. sf::TcpSocket my_socket;
  18. sf::Text playerscore;
  19. sf::Text playerscore2;
  20. bool i=true,T;
  21. sf::Sprite collisionline1;
  22. sf::Sprite collisionline2;
  23. sf::Sprite collisionline3;
  24. sf::Sprite collisionline4;
  25. sf::Sprite ball;
  26. sf::Sprite player;
  27. sf::Sprite player2;
  28. float ballxspeed=0,ballyspeed=2;
  29. void connection_func(){
  30. sf::Socket::Status status = my_socket.connect("192.168.0.5", 53000,sf::seconds(10));
  31. if (status != sf::Socket::Done)
  32. {
  33. std::cout<<"error";
  34. }
  35. char pl[1],pr[1],pu[1];
  36. while (i==true)
  37. {
  38. if(sf::Keyboard::isKeyPressed(sf::Keyboard::Left)){pl[1]='t';}
  39. else if(sf::Keyboard::isKeyPressed(sf::Keyboard::Right)){
  40. pr[1]='t';
  41. pl[1]='f';
  42. }
  43.  
  44. if(sf::Keyboard::isKeyPressed(sf::Keyboard::Up)){pu[1]='t';}
  45. else {pu[100]='f';}
  46.  
  47. my_socket.send(pr,1);
  48. my_socket.send(pl,1);
  49. my_socket.send(pu,1);
  50. }
  51. }
  52.  
  53.  
  54.  
  55.  
  56.  
  57.  
  58.  
  59.  
  60.  
  61.  
  62.  
  63.  
  64.  
  65. void player_moving_function()
  66. {
  67.  
  68.  
  69. while(i==true)
  70. {
  71. if(sf::Keyboard::isKeyPressed(sf::Keyboard::Right))
  72. {
  73. player.move(2,0);
  74. }
  75. if(sf::Keyboard::isKeyPressed(sf::Keyboard::Left))
  76. {
  77. player.move(-2,0);
  78. }
  79. sf::sleep(sf::milliseconds(10));
  80. }
  81. }
  82. void player_moving_function2()
  83. {
  84.  
  85.  
  86. while(i==true)
  87. {
  88. if(sf::Keyboard::isKeyPressed(sf::Keyboard::D))
  89. {
  90. player2.move(2,0);
  91. }
  92. if(sf::Keyboard::isKeyPressed(sf::Keyboard::Q))
  93. {
  94. player2.move(-2,0);
  95. }
  96. sf::sleep(sf::milliseconds(10));
  97. }
  98. }
  99. void ball_collision_and_movement()
  100. {
  101. sf::Font F;
  102. F.loadFromFile("assets/Arial.ttf");
  103. playerscore.setFont(F);
  104. playerscore2.setFont(F);
  105. playerscore.setColor(sf::Color::Black);
  106. playerscore2.setColor(sf::Color::Black);
  107. playerscore.setPosition(10,400);
  108. playerscore2.setPosition(10,200);
  109. int E=255,E2=255,s=0,s2=0;
  110. while (i==true)
  111. {
  112. if(E2==255){}
  113. else {E2++;}
  114. player2.setColor(sf::Color(E2,E2,255));
  115. if(E==255){}
  116. else {E++;}
  117. player.setColor(sf::Color(225,255,E));
  118. if(ball.getGlobalBounds().intersects(player.getGlobalBounds()))
  119. {
  120. if(sf::Keyboard::isKeyPressed(sf::Keyboard::Right))
  121. {
  122. ballxspeed=-4;
  123. }
  124. if(sf::Keyboard::isKeyPressed(sf::Keyboard::Right))
  125. {
  126. ballxspeed=+4;
  127. }
  128. if(sf::Keyboard::isKeyPressed(sf::Keyboard::Up))
  129. {
  130. ballyspeed-=7;
  131. player.setColor(sf::Color(225,255,0));
  132. E=0;
  133. }
  134. else {ballyspeed=ballyspeed*-1;
  135. }
  136. sf::sleep(sf::milliseconds(10));
  137. }
  138. if(ball.getGlobalBounds().intersects(player2.getGlobalBounds()))
  139. {
  140. {if(sf::Keyboard::isKeyPressed(sf::Keyboard::Q))
  141. {
  142. ballxspeed=-4;
  143. }
  144. if(sf::Keyboard::isKeyPressed(sf::Keyboard::D))
  145. {
  146. ballxspeed=+4;
  147. }
  148. if(sf::Keyboard::isKeyPressed(sf::Keyboard::Z)||T==true)
  149. {ballyspeed+=7;
  150. player2.setColor(sf::Color(0,0,255));
  151. E2=0;
  152. }
  153. else {ballyspeed=ballyspeed*-1;}
  154. }}
  155.  
  156.  
  157.  
  158.  
  159. if(ball.getGlobalBounds().intersects(collisionline1.getGlobalBounds())){ballxspeed=ballxspeed*-1;
  160.  
  161. }
  162. if(ball.getGlobalBounds().intersects(collisionline2.getGlobalBounds())){
  163. ballyspeed=ballyspeed*-1;
  164. ballyspeed=2;
  165.  
  166. s++;
  167. std::string dummy;
  168. dummy=std::to_string(s);
  169. playerscore.setString(dummy);
  170.  
  171.  
  172. sf::sleep(sf::milliseconds(100));
  173. }
  174.  
  175. if(ball.getGlobalBounds().intersects(collisionline3.getGlobalBounds())){
  176. ballyspeed=ballyspeed*-1;
  177. ballyspeed=-2;
  178. s2++;
  179. std::string dummy;
  180. dummy=std::to_string(s2);
  181. playerscore2.setString(dummy);
  182.  
  183. sf::sleep(sf::milliseconds(100));
  184. }
  185.  
  186. if(ball.getGlobalBounds().intersects(collisionline4.getGlobalBounds())){ballxspeed=ballxspeed*-1;
  187.  
  188. }
  189. if(ballyspeed>10){ballyspeed=10;}
  190. ball.move(ballxspeed,ballyspeed);
  191. sf::sleep(sf::milliseconds(10));
  192. }
  193. }
  194.  
  195. void A_I()
  196. {
  197. int py,px,bx,by,s;
  198. bool tri;
  199. while (i==true){
  200. if (sf::Keyboard::isKeyPressed(sf::Keyboard::A))
  201. {tri=true;}
  202. if (tri==true){
  203. bx=ball.getPosition().x;
  204. by=ball.getPosition().y;
  205. px=player2.getPosition().x;
  206. py=player2.getPosition().y;
  207. if (px<bx){player2.move(2,0);}
  208. if (px>bx){player2.move(-2,0);}
  209. if(ball.getGlobalBounds().intersects(player.getGlobalBounds()))
  210. {
  211. T=true;
  212. }
  213. else {T=false;}}
  214. s++;
  215. if(s>100&&ball.getPosition().y>150){s=0;
  216. sf::sleep(sf::milliseconds(500));
  217. }
  218.  
  219. sf::sleep(sf::milliseconds(10));
  220. }
  221. }
  222.  
  223.  
  224.  
  225. int main()
  226. {
  227. player2.setOrigin(player2.getPosition().x+40,player2.getPosition().y);
  228. sf::RenderWindow window(sf::VideoMode(500,600),"game");
  229. window.setFramerateLimit(60);
  230. sf::Texture collisionline_Texture;
  231. sf::Texture player_Texture;
  232. sf::Texture ball_Texture;
  233. collisionline_Texture.loadFromFile("assets/Cline.png");
  234. player_Texture.loadFromFile("assets/player.png");
  235. ball_Texture.loadFromFile("assets/ball.png");
  236. player.setTexture(player_Texture);
  237. player.setPosition(0,(600-50));
  238. player2.setTexture(player_Texture);
  239. player2.rotate(180);
  240. player2.setPosition(200,40);
  241. ball.setTexture(ball_Texture);
  242. ball.setPosition(100,100);
  243. collisionline1.setTexture(collisionline_Texture);
  244. collisionline2.setTexture(collisionline_Texture);
  245. collisionline3.setTexture(collisionline_Texture);
  246. collisionline4.setTexture(collisionline_Texture);
  247. collisionline1.rotate(90);
  248. collisionline2.setPosition(0,-10);
  249. collisionline1.setPosition(10,-50);
  250. collisionline3.setPosition(0,590);
  251. collisionline4.rotate(90);
  252. collisionline4.setPosition(510,-50);
  253. std::thread t5(connection_func);
  254. sf::sleep(sf::seconds(10));
  255. std::thread t1(player_moving_function);
  256. std::thread t3(player_moving_function2);
  257. std::thread t2(ball_collision_and_movement);
  258. std::thread t4(A_I);
  259. // run the program as long as the window is open
  260. while (window.isOpen())
  261. {
  262. // check all the window's events that were triggered since the last iteration of the loop
  263. sf::Event event;
  264. while (window.pollEvent(event))
  265. {
  266. // "close requested" event: we close the window
  267. if (event.type == sf::Event::Closed)
  268. window.close();
  269.  
  270. }
  271. window.draw(ball);
  272. window.draw(player);
  273. window.draw(player2);
  274. window.draw(playerscore2);
  275. window.draw(playerscore);
  276. window.display();
  277. window.clear(sf::Color::White);
  278. }
  279. t1.detach();
  280. t2.detach();
  281. t3.detach();
  282. t4.detach();
  283. t5.detach();
  284. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement