//Jennifer Kim
//Class section: C
var eyeSize = 40;
var Type = 0;
var eyeWidth = 28;
var eyeHeight = 35;
var faceWidth = 275;
var pupilWidth = 40;
var pupilHeight = 30;
var faceHeight = 250;
var faceColorA = 0;
var faceColorB = 255;
var faceColor = 2;
var hairclipStyle = 0;
function setup() {
createCanvas(480, 640);
}
function draw() {
background(229,204,255);
//hair
fill(51,25,0);
arc(240, 340, 300, 380, QUARTER_PI + HALF_PI, QUARTER_PI, OPEN);
//face
if (faceColor>1) {
fill(255,229,204);
} else if (faceColor<=1) {
fill(241,200,124);
}
ellipse(width / 2, height / 2, faceWidth, faceHeight);
//eyes
fill(255);
var eyeLX = width / 2 - faceWidth * 0.25;
var eyeRX = width / 2 + faceWidth * 0.25;
ellipse(eyeLX, height / 2, eyeSize, eyeSize);
ellipse(eyeRX, height / 2, eyeSize, eyeSize);
//pupils
fill(153,76,0);
ellipse(width/2-50,height/2,pupilWidth-15,pupilHeight-15);
ellipse(width/2+50,height/2,pupilWidth-15,pupilHeight-15);
//circle nose
fill(241,194,125);
ellipse(width/2,height/2+30,15,15);
//straight mouth
if (Type <= 1.25){
fill(255,213,255);
rect(width/2-25, height/2+60,50,5);
//triangle nose
} else if (Type <= 2.5){
fill(241,194,125);
triangle(width/2 - 15, height/2 + 40, width/2 + 15, height/2 + 40, width/2, height/2);
}
//hair accessories
if (hairclipStyle <= 0.8){
fill(76,0,153);
circle(width/3, height/3, 60);
circle(width - (width/3), height/3, 60);
} else { //attempt at using curve vertex
fill(76,0,153);
beginShape();
curveVertex(310, 280);
curveVertex(350, 300);
curveVertex(390, 250);
curveVertex(290, 210);
curveVertex(270, 310);
endShape();
}
}
function mousePressed() {
faceWidth = random(220, 230);
faceHeight = random(240, 250);
eyeSize = random(30, 40);
Type = random(0,3);
pupilWidth=random(30,35);
pupilHeight=random(30,35);
faceColorA = random(30, 150);
faceColorB = random(70,200);
hairclipStyle = random(0, 3);
}
Figuring out how to shape and position with the curveVertex() was tricky, but I was eventually able to create what I was going for. It was also interesting to put my new knowledge from lecture about if/else statements to use.