project02variablefaces
var eyeSize = 20;
var faceWidth = 200;
var faceHeight = 200;
var Blush = 60;
var Mouth = 30;
var Sprout = 30;
var BodyShake = 300;
var ShadowPosseHead = 100;
var ShadowPosseBody = 200;
var ShadowBack = 0;
var ShadowMiddle = 30;
var ShadowFront = 60;
function setup() {
createCanvas(640, 480);
}
function draw() {
background(137, 0, 0);
noStroke();
fill(ShadowBack);
ellipse(ShadowPosseBody+80, 450, ShadowPosseHead, ShadowPosseHead);
ellipse(ShadowPosseBody+130, 450, ShadowPosseHead, ShadowPosseHead);
ellipse(ShadowPosseBody+150, 420, ShadowPosseHead, ShadowPosseHead);
ellipse(ShadowPosseBody-100, 450, ShadowPosseHead, ShadowPosseHead);
ellipse(ShadowPosseBody-200, 450, ShadowPosseHead, ShadowPosseHead);
fill(ShadowMiddle);
ellipse(ShadowPosseBody, 350, ShadowPosseHead, ShadowPosseHead);
rect(ShadowPosseBody, 380, 20, 40, 10);
arc(ShadowPosseBody+10, 440, 70, 70, PI, 0);
rect(ShadowPosseBody-30, 430, 75, 70, 10);
ellipse(ShadowPosseBody-100, 370, ShadowPosseHead, ShadowPosseHead);
rect(ShadowPosseBody-100, 400, 20, 40, 10);
arc(ShadowPosseBody-90, 460, 70, 70, PI, 0);
rect(ShadowPosseBody-125, 460, 70, 70);
fill(ShadowFront);
ellipse(ShadowPosseBody-50, 400, ShadowPosseHead, ShadowPosseHead);
rect(ShadowPosseBody-50, 430, 20, 40, 10);
arc(ShadowPosseBody-40, 490, 70, 70, PI, 0);
rect(ShadowPosseBody-80, 480, 75, 70, 10);
ellipse(ShadowPosseBody+80, 400, ShadowPosseHead, ShadowPosseHead);
rect(ShadowPosseBody+80, 430, 20, 40, 10);
arc(ShadowPosseBody+90, 490, 70, 70, PI, 0);
rect(ShadowPosseBody+60, 480, 75, 70, 10);
ellipse(ShadowPosseBody-150, 400, ShadowPosseHead-10, ShadowPosseHead-10);
rect(ShadowPosseBody-150, 430, 20, 40, 10);
arc(ShadowPosseBody-140, 485, 70, 70, PI, 0);
rect(ShadowPosseBody-170, 480, 75, 70, 10);
fill(ShadowBack);
ellipse(ShadowPosseBody+300, 450, ShadowPosseHead, ShadowPosseHead);
ellipse(ShadowPosseBody+400, 450, ShadowPosseHead+10, ShadowPosseHead+10);
ellipse(ShadowPosseBody+200, 450, ShadowPosseHead, ShadowPosseHead);
fill(ShadowMiddle);
ellipse(ShadowPosseBody+300, 350, ShadowPosseHead, ShadowPosseHead);
rect(ShadowPosseBody+300, 380, 20, 40, 10);
arc(ShadowPosseBody+310, 440, 70, 70, PI, 0);
rect(ShadowPosseBody+280, 430, 75, 70, 10);
ellipse(ShadowPosseBody+200, 370, ShadowPosseHead, ShadowPosseHead);
rect(ShadowPosseBody+200, 400, 20, 40, 10);
arc(ShadowPosseBody+210, 460, 70, 70, PI, 0);
rect(ShadowPosseBody+180, 445, 70, 70);
fill(ShadowFront);
ellipse(ShadowPosseBody+250, 400, ShadowPosseHead, ShadowPosseHead);
rect(ShadowPosseBody+250, 430, 20, 40, 10);
arc(ShadowPosseBody+260, 490, 70, 70, PI, 0);
rect(ShadowPosseBody+230, 480, 75, 70, 10);
ellipse(ShadowPosseBody+380, 400, ShadowPosseHead, ShadowPosseHead);
rect(ShadowPosseBody+380, 430, 20, 40, 10);
arc(ShadowPosseBody+390, 490, 70, 70, PI, 0);
rect(ShadowPosseBody+360, 480, 75, 70, 10);
fill(256);
ellipse(width / 2, height / 2, faceWidth, faceHeight);
var eyeLX = width / 2.1 - faceWidth * 0.25;
var eyeRX = width / 2.1 + faceWidth * 0.25;
fill(255, 114, 129);
ellipse(eyeLX, 270, Blush, Blush);
ellipse(eyeRX+20, 270, Blush, Blush);
fill(0);
rect(eyeLX, height / 2.3, eyeSize, eyeSize*2, 10);
rect(eyeRX, height / 2.3, eyeSize, eyeSize*2, 10);
fill(0);
arc(310, 290, Mouth, Mouth, PI, 0);
fill(201, 208, 126);
ellipse(290, 100, 50, 30);
ellipse(340, 100, 50, 30);
rect(305, 100, 20, Sprout+30, 10);
fill(256);
rect(BodyShake+5, 310, 35, 50, 10);
arc(BodyShake+30, 390, 100, 100, PI, 0);
rect(BodyShake-20, 385, 100, 100);
}
function mousePressed() {
faceWidth = random(180, 220);
faceHeight = random(180, 220);
eyeSize = random(10, 30);
Blush = random(50, 70);
ShadowPosseBody = random(190, 210);
Mouth = random(10, 50);
Sprout = random(20, 30);
ShadowBack = random(0, 20);
ShadowMiddle = random(30, 50);
ShadowFront = random(60, 80);
BodyShake = random(295, 305);
}
For my code I wanted to draw a character that I tend to doodle a lot.

Initially I wanted to make the sprout look evil and scary, but after coding it I realized it wasn’t really possible with it’s basic characteristics, which were ellipse eyes, blush, and a big sprout coming out of its head. So after coding the sprout and making the facial features and the sprout move I decided to continue with my “evil and scary” idea and made these shadow-like creatures behind my sprout character. Initially I was going to just leave them there but I wanted them to move a little as if they were moving towards the sprout character.
At this point I thought I was done but I thought having the sprout character’s body stay still made the entire picture look a bit static when it was clicked on, so I decided to make it look as though the sprout character’s body was shaking as the shadows behind it were coming after it.
My ideas did not really come in an orderly manner so my code was a bit difficult to work with and a bit unorganized, but hopefully it is easier to read after I added some comments to it.