Advertisement
Guest User

Untitled

a guest
Jan 22nd, 2020
82
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 7.43 KB | None | 0 0
  1. import processing.net.*;
  2.  
  3. Server server = new Server(this, 12345);
  4. Client client, client1, client2;
  5.  
  6. JSONObject json, json1, json2, json3;
  7. String input, input1, input2;
  8. float paddleLeft1X, paddleLeft1Y, paddleLeft2X, paddleLeft2Y, paddleRight1X, paddleRight1Y, paddleRight2X, paddleRight2Y;
  9. float paddleW, paddleLeft1H, paddleLeft2H, paddleRight1H, paddleRight2H;
  10. float ballX, ballY, ballW, ballH;
  11. float speedX, speedY;
  12. int increaseSpeed;
  13. int scoreLeft = 0;
  14. int scoreRight = 0;
  15. boolean gameBegin, gameEnd;
  16. int contacts;
  17. int colorBall;
  18. int colorScore;
  19.  
  20. void setup() {
  21.  
  22. size(600, 600);
  23. json = new JSONObject();
  24. json1 = new JSONObject();
  25. json2 = new JSONObject();
  26. json3 = new JSONObject();
  27. paddleW = 10;
  28. paddleLeft1H = 100;
  29. paddleLeft2H = 100;
  30. paddleRight1H = 100;
  31. paddleRight2H = 100;
  32. paddleLeft1X = 50;
  33. paddleLeft2X = 20;
  34. paddleLeft1Y = height/2;
  35. paddleLeft2Y = height/2;
  36. paddleRight1X = width-paddleLeft1X-paddleW;
  37. paddleRight2X = width-paddleLeft2X-paddleW;
  38. paddleRight1Y = height/2;
  39. paddleRight2Y = height/2;
  40. ballX = width/2;
  41. ballY = height/2;
  42. ballW = 10;
  43. ballH = ballW;
  44. speedX = 3;
  45. speedY = 2;
  46. increaseSpeed = 0;
  47. gameBegin = false;
  48. gameEnd = false;
  49. contacts = 0;
  50. colorBall = 0;
  51. colorScore = 0;
  52. }
  53. void mouseClicked() {
  54. gameBegin = true;
  55. }
  56.  
  57. void draw() {
  58.  
  59.  
  60.  
  61. background(255);
  62. displayPaddles();
  63. displayBall();
  64. if (gameBegin) {
  65. moveBall();
  66. bounce();
  67. contactPaddle();
  68. }
  69.  
  70. if (scoreLeft >= 12 || scoreRight >= 12) {
  71. gameEnd = true;
  72. }
  73.  
  74. if (gameEnd) {
  75. stopBall();
  76. }
  77.  
  78.  
  79. displayScore();
  80.  
  81. json.setFloat("paddleW", paddleW);
  82. json.setFloat("paddleLeft1H", paddleLeft1H);
  83. json.setFloat("paddleLeft2H", paddleLeft2H);
  84. json.setFloat("paddleRight1H", paddleRight1H);
  85. json.setFloat("paddleRight2H", paddleRight2H);
  86. json.setFloat("paddleLeft1X", paddleLeft1X);
  87. json.setFloat("paddleLeft2X", paddleLeft2X);
  88. json.setFloat("paddleRight1X", paddleRight1X);
  89. json.setFloat("paddleRight2X", paddleRight2X);
  90. json.setFloat("paddleLeft1Y", paddleLeft1Y);
  91. json.setFloat("paddleLeft2Y", paddleLeft2Y);
  92. json.setFloat("paddleRight1Y", paddleRight1Y);
  93. json.setFloat("paddleRight2Y", paddleRight2Y);
  94. json.setFloat("ballX", ballX);
  95. json.setFloat("ballY", ballY);
  96. json.setFloat("ballW", ballW);
  97. json.setFloat("ballH", ballH);
  98. json.setFloat("ballSpeedX", speedX);
  99. json.setFloat("ballSpeedY", speedY);
  100. json.setInt("increaseSpeed", increaseSpeed);
  101. json.setInt("contacts", contacts);
  102. json.setBoolean("gameEnd", gameEnd);
  103. json.setBoolean("gameBegin", gameBegin);
  104. json.setInt("scoreLeft", scoreLeft);
  105. json.setInt("scoreRight", scoreRight);
  106. json.setInt("colorBall", colorBall);
  107. json.setInt("colorScore", colorScore);
  108.  
  109.  
  110.  
  111.  
  112. String[] data = {json + ""};
  113.  
  114. for (int i = 0; i < data.length; i++) {
  115. server.write(data[i]);
  116. }
  117.  
  118. client = server.available();
  119. client1 = server.available();
  120. client2 = server.available();
  121.  
  122. if (client != null) {
  123. input = client.readString();
  124. input1 = client1.readString();
  125. input2 = client2.readString();
  126. if (input != null) {
  127. if (input.contains("paddleLeft2Y")) {
  128. json1 = parseJSONObject(input);
  129. paddleLeft2Y = json1.getFloat("paddleLeft2Y");
  130. }
  131. if (input.contains("paddleRight1Y")) {
  132. json2 = parseJSONObject(input);
  133. paddleRight1Y = json2.getFloat("paddleRight1Y");
  134. }
  135. if (input.contains("paddleRight2Y")) {
  136. json3 = parseJSONObject(input);
  137. paddleRight2Y = json3.getFloat("paddleRight2Y");
  138. }
  139. }
  140. if (input1 != null) {
  141. if (input1.contains("paddleLeft2Y")) {
  142. json1 = parseJSONObject(input1);
  143. paddleLeft2Y = json1.getFloat("paddleLeft2Y");
  144. }
  145. if (input1.contains("paddleRight1Y")) {
  146. json2 = parseJSONObject(input1);
  147. paddleRight1Y = json2.getFloat("paddleRight1Y");
  148. }
  149. if (input1.contains("paddleRight2Y")) {
  150. json3 = parseJSONObject(input1);
  151. paddleRight2Y = json3.getFloat("paddleRight2Y");
  152. }
  153. }
  154. if (input2 != null) {
  155. if (input2.contains("paddleLeft2Y")) {
  156. json1 = parseJSONObject(input2);
  157. paddleLeft2Y = json1.getFloat("paddleLeft2Y");
  158. }
  159. if (input2.contains("paddleRight1Y")) {
  160. json2 = parseJSONObject(input2);
  161. paddleRight1Y = json2.getFloat("paddleRight1Y");
  162. }
  163. if (input2.contains("paddleRight2Y")) {
  164. json3 = parseJSONObject(input2);
  165. paddleRight2Y = json3.getFloat("paddleRight2Y");
  166. }
  167. }
  168. }
  169.  
  170. }
  171.  
  172.  
  173. void displayPaddles() {
  174.  
  175. fill(0);
  176. rect(paddleLeft1X, paddleLeft1Y-paddleLeft1H/2, paddleW, paddleLeft1H);
  177. rect(paddleLeft2X, paddleLeft2Y-paddleLeft2H/2, paddleW, paddleLeft2H);
  178. rect(paddleRight1X, paddleRight1Y-paddleRight1H/2, paddleW, paddleRight1H);
  179. rect(paddleRight2X, paddleRight2Y-paddleRight2H/2, paddleW, paddleRight2H);
  180. }
  181.  
  182. void displayBall() {
  183.  
  184. noStroke();
  185. fill(colorBall);
  186. ellipse(ballX, ballY, ballW, ballH);
  187. if (scoreRight > scoreLeft) {
  188. colorBall = #FF0303;
  189. }
  190.  
  191. else if (scoreRight < scoreLeft) {
  192. colorBall = #0311FF;
  193. }
  194. }
  195.  
  196. void moveBall() {
  197.  
  198. ballX+=speedX;
  199. ballY+=speedY;
  200. }
  201. void stopBall() {
  202. speedX = 0;
  203. speedY = 0;
  204. }
  205.  
  206. void bounce() {
  207.  
  208. if (ballY-ballH/2 <= 0) {
  209. speedY=-speedY;
  210. ballY = ballH/2;
  211. }
  212. if (ballY+ballH/2 >= height) {
  213. speedY=-speedY;
  214. ballY = height-ballH/2;
  215. }
  216. if (ballX-ballW/2 <= 0) {
  217. scoreRight++;
  218. setup();
  219. speedX =-speedX;
  220. contacts = 1;
  221. }
  222. else if (ballX+ballW/2 >= width) {
  223. scoreLeft++;
  224. setup();
  225. }
  226.  
  227.  
  228. }
  229.  
  230. void contactPaddle() {
  231.  
  232. if (contacts%2!=0) {
  233. if (contacts%4 == 1) {
  234. if (ballX-ballW/2 <= paddleLeft1X+paddleW && ballY >= paddleLeft1Y-paddleLeft1H/2 && ballY <= paddleLeft1Y+paddleLeft1H/2) {
  235. speedX = -speedX;
  236. contacts++;
  237. increaseSpeed++;
  238. }
  239. }
  240. else {
  241. if (ballX-ballW/2 <= paddleLeft2X+paddleW && ballY >= paddleLeft2Y-paddleLeft2H/2 && ballY <= paddleLeft2Y+paddleLeft2H/2) {
  242. speedX = -speedX;
  243. contacts++;
  244. increaseSpeed++;
  245. }
  246. }
  247. }
  248. else {
  249. if (contacts%4 == 0) {
  250. if (ballX+ballW/2 >= paddleRight1X && ballY >= paddleRight1Y-paddleRight1H/2 && ballY <= paddleRight1Y+paddleRight1H/2) {
  251. speedX = -speedX;
  252. contacts++;
  253. increaseSpeed++;
  254. }
  255. }
  256. else {
  257. if (ballX+ballW/2 >= paddleRight2X && ballY >= paddleRight2Y-paddleRight2H/2 && ballY <= paddleRight2Y+paddleRight2H/2) {
  258. println(true);
  259. speedX = -speedX;
  260. contacts++;
  261. increaseSpeed++;
  262. }
  263. }
  264. if (increaseSpeed == 10) {
  265. if (speedX > 0) {
  266. speedX+=1;
  267. }
  268. else {
  269. speedX-=1;
  270. }
  271. if (speedY > 0) {
  272. speedY+=1;
  273. }
  274. else {
  275. speedY-=1;
  276. }
  277. increaseSpeed = 1;
  278. }
  279. }
  280. }
  281.  
  282. void displayScore() {
  283. textAlign(LEFT);
  284. fill(colorScore);
  285. textSize(height/15);
  286. text(scoreLeft, width/4, height/10);
  287. text(scoreRight, 3*width/4, height/10);
  288. if (scoreLeft > 10||scoreRight > 10) {
  289. colorScore = #FF0318;
  290. }
  291. }
  292. void mouseMoved() {
  293. paddleLeft1Y = mouseY;
  294. if (paddleLeft1Y < paddleLeft1H/2) {
  295. paddleLeft1Y = paddleLeft1H/2;
  296. }
  297. else if (paddleLeft1Y > height-paddleLeft1H/2) {
  298. paddleLeft1Y = height-paddleLeft1H/2;
  299. }
  300. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement