sketch
//Michelle Dang, Section D
var faceWidth;
var faceHeight;
var faceCurve;
var eyeSize;
var nr; //nose color
var ng;
var nb;
var smileW;
var smileL;
var noseWidth;
var noseHeight;
var face = 1;
var nose = 1;
var eye =1;
var smile=1;
var haircut=1;
var r =0;
var g= 0;
var b=0;
function setup() {
createCanvas(480, 640);
}
function draw() {
background(168, 220, 237)
noStroke()
push()
fill(r, g, b)
rectMode(CENTER)
rect(width/2, height/2+300, 220, 300, 90, 90, 0, 0)
pop()
if (face == 1) {
fill(141, 85, 36)
// ellipse(width/2, height/2, 200, 250)
ellipse(width/2, height/2, 250, 270)
}
if (face == 2) {
fill(224, 172, 105)
// ellipse(width/2, height/2, 200, 250)
ellipse(width/2, height/2, 250, 270)
}
if (face == 3) {
fill(255, 219, 172)
// circle(width/2, height/2, 250)
ellipse(width/2, height/2, 250, 270)
}
if (face == 4) {
fill(198, 134, 66)
// ellipse(width/2, height/2, 270, 270)
ellipse(width/2, height/2, 250, 270)
}
if (face == 5) {
fill(241, 194, 125)
ellipse(width/2, height/2, 250, 270)
}
// fill(hairR, hairG, hairB);
// arc(width/2, height/2-(faceWidth/2)+50, faceWidth, faceHeight+200, PI, TWO_PI); // bowl cut
if (haircut ==1) {
fill(0)
rect(width/2-125, height/2-135, 130, 110, 20, 0,90, 20)
rect(width/2, height/2-135, 130, 110, 0, 20,20, 90)
}
if (haircut==2) {
for (var x=115; x<350; x+=50) {
fill(200, 100, 100)
rect(x, 185, 50, 80, 0, 0, 90, 90)
}
}
if (haircut == 3) {
fill(227, 174, 50)
arc(width/2, height/2-30, 240, 220, PI, TWO_PI);
}
if (smile==1) {
fill(0); //smile
arc(width/2, height/2+ faceWidth*.20, smileW, smileL, TWO_PI, PI);
} if (smile==2) {
fill(0); //frown
arc(width/2, height/2+ faceHeight/2*.60, smileW, smileL, PI, TWO_PI);
} if (smile==3) {
fill(0); //neutral expression
ellipse(width/2, height/2+ faceWidth*.20, rectMouthW, rectMouthH);
}
if (nose == 1) {
fill(240, 157, 151);
ellipse(width/2, height/2, 40, 20)
}
if (nose == 2) {
fill(240, 157, 151);
rect(width/2-noseWidth/2, height/2-noseHeight/2, noseWidth, noseHeight, 20, 20);
}
if(eye==1) {
var eyeLX = width / 2 - faceWidth * 0.25; //black eyes
var eyeRX = width / 2 + faceWidth * 0.25;
fill(0);
ellipse(eyeLX, height / 2, eyeSize, eyeSize);
ellipse(eyeRX, height / 2, eyeSize, eyeSize);
} if(eye==2) { //cresent eyes
var eyeLX = width / 2 - faceWidth * 0.25;
var eyeRX = width / 2 + faceWidth * 0.25;
fill(0)
arc(eyeLX, height/2, 40, 30, -PI, 0, CHORD);
arc(eyeRX, height/2, 40, 30, -PI, 0, CHORD);
} if (eye==3) { //black eyes with sparkles
var eyeLX = width / 2 - faceWidth * 0.25;
var eyeRX = width / 2 + faceWidth * 0.25;
fill(0); //black eye
ellipse(eyeLX, height / 2, eyeSize, eyeSize);
ellipse(eyeRX, height / 2, eyeSize, eyeSize);
fill(255); // sparkle
ellipse(eyeLX+4, height / 2, eyeSize/3, eyeSize/3);
ellipse(eyeRX+4, height / 2, eyeSize/3, eyeSize/3);
}
///blush
fill(240, 100, 100, 80);
circle(eyeLX-20, height / 2 +30, 60);
circle(eyeRX+20, height / 2+30, 60);
}
function mousePressed() {
face= int(random(1,6))
nose= int(random(1,3))
eye = int(random(1,4))
smile = int(random(1,4))
haircut = int(random(1,4))
smileW = random(40,50);
smileL = random(30,40);
rectMouthW = random(30,50);
rectMouthH = random(10,15);
noseWidth = random(20,35);
noseHeight = random(40,50);
r = random(100)
g = random(100)
b = random(100)
nr = random(225, 255); // nose color
ng = random(100, 250);
nb = random(100, 255);
faceWidth = random(150, 200);
faceHeight = random(150, 200);
faceCurve = random (20, 50); // curved chin of face
eyeSize = random(25, 40); // size of eye
}