import processing.net.*; Client client; // the net client boolean LastLeftValue, LastRightValue; void setup() { size(200, 200); client = new Client(this, "128.122.151.34", 10050); LastLeftValue = false; LastRightValue = false; } void draw() { boolean LeftValue = false, RightValue = false; background(0); // Check for mouse events if (mousePressed == true) { if ((mouseX > 0) && (mouseX < 100) && (mouseY > 0) && (mouseY < 200)) { LeftValue = true; } if ((mouseX > 100) && (mouseX < 200) && (mouseY > 0) && (mouseY < 200)) { RightValue = true; } } else { LeftValue = false; RightValue = false; } // If changed, write to socket if (LeftValue && !LastLeftValue) { client.write("1"); println(1); } if (!LeftValue && LastLeftValue) { client.write("2"); println(2); } if (RightValue && !LastRightValue) { client.write("3"); println(3); } if (!RightValue && LastRightValue) { client.write("4"); println(4); } // Update for next iteration LastLeftValue = LeftValue; LastRightValue = RightValue; // Draw left rect if (LastLeftValue) fill(255); else fill(0); rect(0, 0, 100, 200); if (LastRightValue) fill(255); else fill(0); rect(100, 0, 100, 200); }