/*/////////////////////////////////////////////////////////////////////////////////////////////
* Flashing Faces by Zhipu Chen
* Interactive drawing program
* By pressing the mouse the background and faces flash
* 9/25/2017
/*/////////////////////////////////////////////////////////////////////////////////////////////
void setup() {
size(400, 400);
frameRate(15);
println("CLICK MOUSE AS FAST AS YOU CAN");
}
//Flash once when the mouse is pressed
void mousePressed()
{
//Background color white
background(225);
//Draw corner faces
strokeWeight(2);
//Stroke color white
stroke(225);
//Fill with black
fill(0);
//Left up
ellipse(width/4*2-mouseX, height/4*2-mouseY, 70, 70);
//Right up
ellipse(width/4*6-mouseX, height/4*2-mouseY, 70, 70);
//Left down
ellipse(width/4*2-mouseX, height/4*6-mouseY, 70, 70);
//Right down
ellipse(width/4*6-mouseX, height/4*6-mouseY, 70, 70);
//Draw corner eyes
stroke(225);
fill(0);
//Left up
ellipse(185-mouseX, 190-mouseY, 12, 12);
ellipse(215-mouseX, 190-mouseY, 12, 12);
//Right up
ellipse(630-mouseX, 190-mouseY, 12, 12);
ellipse(570-mouseX, 190-mouseY, 12, 12);
//Left down
ellipse(185-mouseX, 580-mouseY, 12, 12);
ellipse(215-mouseX, 580-mouseY, 12, 12);
//Right down
ellipse(630-mouseX, 580-mouseY, 12, 12);
ellipse(570-mouseX, 580-mouseY, 12, 12);
//Draw corner mouths
//Left up
ellipse(200-mouseX, 215-mouseY, 15, 15);
//Right up
ellipse(600-mouseX, 215-mouseY, 15, 15);
//Left down
ellipse(200-mouseX, 600-mouseY, 15, 15);
//Right down
ellipse(600-mouseX, 600-mouseY, 15, 15);
stroke(0);
//Draw center face
stroke(225);
rectMode(CENTER);
rect(width/2, height/2, 100, 100);
//Draw center eye
strokeWeight(4);
line(160, 185, 180, 170);
line(240, 185, 220, 170);
line(160, 170, 180, 185);
line(240, 170, 220, 185);
//Draw center mouth
rect(200, 230, 40, 40);
}
void draw() {
background(0);
//Draw coner faces
strokeWeight(2);
stroke(0);
fill(225);
ellipse(width/4*2-mouseX, height/4*2-mouseY, 70, 70);
ellipse(width/4*6-mouseX, height/4*2-mouseY, 70, 70);
ellipse(width/4*2-mouseX, height/4*6-mouseY, 70, 70);
ellipse(width/4*6-mouseX, height/4*6-mouseY, 70, 70);
//Draw corner eyes
stroke(0);
fill(225);
ellipse(185-mouseX, 190-mouseY, 12, 12);
ellipse(215-mouseX, 190-mouseY, 12, 12);
ellipse(630-mouseX, 190-mouseY, 12, 12);
ellipse(570-mouseX, 190-mouseY, 12, 12);
ellipse(185-mouseX, 580-mouseY, 12, 12);
ellipse(215-mouseX, 580-mouseY, 12, 12);
ellipse(630-mouseX, 580-mouseY, 12, 12);
ellipse(570-mouseX, 580-mouseY, 12, 12);
//Draw corner mouths
ellipse(200-mouseX, 215-mouseY, 15, 15);
ellipse(600-mouseX, 215-mouseY, 15, 15);
ellipse(200-mouseX, 600-mouseY, 15, 15);
ellipse(600-mouseX, 600-mouseY, 15, 15);
stroke(225);
//Draw center face
stroke(0);
rectMode(CENTER);
rect(width/2, height/2, 100, 100);
//Draw center eyes
strokeWeight(4);
line(160, 185, 180, 170);
line(240, 185, 220, 170);
//Draw center mouths
rect(200, 230, 40, 40);
}