Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import processing.net.*;
- Server server = new Server(this, 12345);
- Client client, client1, client2;
- JSONObject json, json1, json2, json3;
- String input, input1, input2;
- float paddleLeft1X, paddleLeft1Y, paddleLeft2X, paddleLeft2Y, paddleRight1X, paddleRight1Y, paddleRight2X, paddleRight2Y;
- float paddleW, paddleLeft1H, paddleLeft2H, paddleRight1H, paddleRight2H;
- float ballX, ballY, ballW, ballH;
- float speedX, speedY;
- int increaseSpeed;
- int scoreLeft = 0;
- int scoreRight = 0;
- boolean gameBegin, gameEnd;
- int contacts;
- int colorBall;
- int colorScore;
- void setup() {
- size(600, 600);
- json = new JSONObject();
- json1 = new JSONObject();
- json2 = new JSONObject();
- json3 = new JSONObject();
- paddleW = 10;
- paddleLeft1H = 100;
- paddleLeft2H = 100;
- paddleRight1H = 100;
- paddleRight2H = 100;
- paddleLeft1X = 50;
- paddleLeft2X = 20;
- paddleLeft1Y = height/2;
- paddleLeft2Y = height/2;
- paddleRight1X = width-paddleLeft1X-paddleW;
- paddleRight2X = width-paddleLeft2X-paddleW;
- paddleRight1Y = height/2;
- paddleRight2Y = height/2;
- ballX = width/2;
- ballY = height/2;
- ballW = 10;
- ballH = ballW;
- speedX = 3;
- speedY = 2;
- increaseSpeed = 0;
- gameBegin = false;
- gameEnd = false;
- contacts = 0;
- colorBall = 0;
- colorScore = 0;
- }
- void mouseClicked() {
- gameBegin = true;
- }
- void draw() {
- background(255);
- displayPaddles();
- displayBall();
- if (gameBegin) {
- moveBall();
- bounce();
- contactPaddle();
- }
- if (scoreLeft >= 12 || scoreRight >= 12) {
- gameEnd = true;
- }
- if (gameEnd) {
- stopBall();
- }
- displayScore();
- json.setFloat("paddleW", paddleW);
- json.setFloat("paddleLeft1H", paddleLeft1H);
- json.setFloat("paddleLeft2H", paddleLeft2H);
- json.setFloat("paddleRight1H", paddleRight1H);
- json.setFloat("paddleRight2H", paddleRight2H);
- json.setFloat("paddleLeft1X", paddleLeft1X);
- json.setFloat("paddleLeft2X", paddleLeft2X);
- json.setFloat("paddleRight1X", paddleRight1X);
- json.setFloat("paddleRight2X", paddleRight2X);
- json.setFloat("paddleLeft1Y", paddleLeft1Y);
- json.setFloat("paddleLeft2Y", paddleLeft2Y);
- json.setFloat("paddleRight1Y", paddleRight1Y);
- json.setFloat("paddleRight2Y", paddleRight2Y);
- json.setFloat("ballX", ballX);
- json.setFloat("ballY", ballY);
- json.setFloat("ballW", ballW);
- json.setFloat("ballH", ballH);
- json.setFloat("ballSpeedX", speedX);
- json.setFloat("ballSpeedY", speedY);
- json.setInt("increaseSpeed", increaseSpeed);
- json.setInt("contacts", contacts);
- json.setBoolean("gameEnd", gameEnd);
- json.setBoolean("gameBegin", gameBegin);
- json.setInt("scoreLeft", scoreLeft);
- json.setInt("scoreRight", scoreRight);
- json.setInt("colorBall", colorBall);
- json.setInt("colorScore", colorScore);
- String[] data = {json + ""};
- for (int i = 0; i < data.length; i++) {
- server.write(data[i]);
- }
- client = server.available();
- client1 = server.available();
- client2 = server.available();
- if (client != null) {
- input = client.readString();
- input1 = client1.readString();
- input2 = client2.readString();
- if (input != null) {
- if (input.contains("paddleLeft2Y")) {
- json1 = parseJSONObject(input);
- paddleLeft2Y = json1.getFloat("paddleLeft2Y");
- }
- if (input.contains("paddleRight1Y")) {
- json2 = parseJSONObject(input);
- paddleRight1Y = json2.getFloat("paddleRight1Y");
- }
- if (input.contains("paddleRight2Y")) {
- json3 = parseJSONObject(input);
- paddleRight2Y = json3.getFloat("paddleRight2Y");
- }
- }
- if (input1 != null) {
- if (input1.contains("paddleLeft2Y")) {
- json1 = parseJSONObject(input1);
- paddleLeft2Y = json1.getFloat("paddleLeft2Y");
- }
- if (input1.contains("paddleRight1Y")) {
- json2 = parseJSONObject(input1);
- paddleRight1Y = json2.getFloat("paddleRight1Y");
- }
- if (input1.contains("paddleRight2Y")) {
- json3 = parseJSONObject(input1);
- paddleRight2Y = json3.getFloat("paddleRight2Y");
- }
- }
- if (input2 != null) {
- if (input2.contains("paddleLeft2Y")) {
- json1 = parseJSONObject(input2);
- paddleLeft2Y = json1.getFloat("paddleLeft2Y");
- }
- if (input2.contains("paddleRight1Y")) {
- json2 = parseJSONObject(input2);
- paddleRight1Y = json2.getFloat("paddleRight1Y");
- }
- if (input2.contains("paddleRight2Y")) {
- json3 = parseJSONObject(input2);
- paddleRight2Y = json3.getFloat("paddleRight2Y");
- }
- }
- }
- }
- void displayPaddles() {
- fill(0);
- rect(paddleLeft1X, paddleLeft1Y-paddleLeft1H/2, paddleW, paddleLeft1H);
- rect(paddleLeft2X, paddleLeft2Y-paddleLeft2H/2, paddleW, paddleLeft2H);
- rect(paddleRight1X, paddleRight1Y-paddleRight1H/2, paddleW, paddleRight1H);
- rect(paddleRight2X, paddleRight2Y-paddleRight2H/2, paddleW, paddleRight2H);
- }
- void displayBall() {
- noStroke();
- fill(colorBall);
- ellipse(ballX, ballY, ballW, ballH);
- if (scoreRight > scoreLeft) {
- colorBall = #FF0303;
- }
- else if (scoreRight < scoreLeft) {
- colorBall = #0311FF;
- }
- }
- void moveBall() {
- ballX+=speedX;
- ballY+=speedY;
- }
- void stopBall() {
- speedX = 0;
- speedY = 0;
- }
- void bounce() {
- if (ballY-ballH/2 <= 0) {
- speedY=-speedY;
- ballY = ballH/2;
- }
- if (ballY+ballH/2 >= height) {
- speedY=-speedY;
- ballY = height-ballH/2;
- }
- if (ballX-ballW/2 <= 0) {
- scoreRight++;
- setup();
- speedX =-speedX;
- contacts = 1;
- }
- else if (ballX+ballW/2 >= width) {
- scoreLeft++;
- setup();
- }
- }
- void contactPaddle() {
- if (contacts%2!=0) {
- if (contacts%4 == 1) {
- if (ballX-ballW/2 <= paddleLeft1X+paddleW && ballY >= paddleLeft1Y-paddleLeft1H/2 && ballY <= paddleLeft1Y+paddleLeft1H/2) {
- speedX = -speedX;
- contacts++;
- increaseSpeed++;
- }
- }
- else {
- if (ballX-ballW/2 <= paddleLeft2X+paddleW && ballY >= paddleLeft2Y-paddleLeft2H/2 && ballY <= paddleLeft2Y+paddleLeft2H/2) {
- speedX = -speedX;
- contacts++;
- increaseSpeed++;
- }
- }
- }
- else {
- if (contacts%4 == 0) {
- if (ballX+ballW/2 >= paddleRight1X && ballY >= paddleRight1Y-paddleRight1H/2 && ballY <= paddleRight1Y+paddleRight1H/2) {
- speedX = -speedX;
- contacts++;
- increaseSpeed++;
- }
- }
- else {
- if (ballX+ballW/2 >= paddleRight2X && ballY >= paddleRight2Y-paddleRight2H/2 && ballY <= paddleRight2Y+paddleRight2H/2) {
- println(true);
- speedX = -speedX;
- contacts++;
- increaseSpeed++;
- }
- }
- if (increaseSpeed == 10) {
- if (speedX > 0) {
- speedX+=1;
- }
- else {
- speedX-=1;
- }
- if (speedY > 0) {
- speedY+=1;
- }
- else {
- speedY-=1;
- }
- increaseSpeed = 1;
- }
- }
- }
- void displayScore() {
- textAlign(LEFT);
- fill(colorScore);
- textSize(height/15);
- text(scoreLeft, width/4, height/10);
- text(scoreRight, 3*width/4, height/10);
- if (scoreLeft > 10||scoreRight > 10) {
- colorScore = #FF0318;
- }
- }
- void mouseMoved() {
- paddleLeft1Y = mouseY;
- if (paddleLeft1Y < paddleLeft1H/2) {
- paddleLeft1Y = paddleLeft1H/2;
- }
- else if (paddleLeft1Y > height-paddleLeft1H/2) {
- paddleLeft1Y = height-paddleLeft1H/2;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement