nawonc-variable-face
var sushiX = 233;
var sushiType = "egg";
var browHeight = 147;
var browAngle = 0;
var eyeballSize = 33;
var eyeSize = 1.5;
function setup() {
createCanvas(640, 480);
background(220);
}
function draw() {
noStroke();
fill("#E3CBC8");
rect(0, 0, 640, 250);
noStroke();
fill("#6A6159");
ellipse(304, 250, 394, 500);
noStroke();
fill("#6A6159");
ellipse(382, 249, 302, 465);
noStroke();
fill("#F2E3C2");
ellipse(325, 236, 356, 423);
noStroke();
fill("#6A6159");
quad(124, 182, 270, 125, 373, 30, 198, 61);
noStroke();
fill("#6A6159");
triangle(223, 57, 294, 16, 373, 30);
strokeWeight(10);
stroke("#8F847B");
noFill();
beginShape();
curveVertex(183, browHeight + browAngle);
curveVertex(183, browHeight + browAngle);
curveVertex(213, browHeight - browAngle);
curveVertex(278, browHeight + browAngle);
curveVertex(278, browHeight + browAngle);
endShape();
strokeWeight(10);
stroke("#8F847B");
noFill();
beginShape();
curveVertex(365, browHeight + browAngle);
curveVertex(365, browHeight + browAngle);
curveVertex(430, browHeight - browAngle);
curveVertex(460, browHeight + browAngle / 2);
curveVertex(460, browHeight + browAngle / 2);
endShape();
noStroke();
fill("#ffffff");
ellipse(224, 193, 57 * eyeSize, 46 * eyeSize);
noStroke();
fill("#ffffff");
ellipse(417, 193, 57 * eyeSize, 46 * eyeSize);
var leftEye = 224;
var rightEye = 417;
var eyeHeight = 200;
var sushiCenter = sushiX + 88;
if (sushiCenter < 201) {
leftEye = 201,
rightEye = 394;
} else if (sushiCenter >= 201 & sushiCenter <= 225) {
leftEye = sushiCenter,
rightEye = 394;
} else if (sushiCenter > 225 & sushiCenter < 394) {
leftEye = 240,
rightEye = 394;
} else if (sushiCenter >= 394 & sushiCenter <= 418) {
leftEye = 240,
rightEye = sushiCenter;
} else {
leftEye = 240,
rightEye = 418;
}
noStroke();
fill("#6A6159");
ellipse(leftEye, eyeHeight, eyeballSize, eyeballSize);
noStroke();
fill("#6A6159");
ellipse(rightEye, eyeHeight, eyeballSize, eyeballSize);
noStroke();
fill("#FAFAFA");
ellipse(leftEye-4, eyeHeight-4, 12, 12);
noStroke();
fill("#FAFAFA");
ellipse(rightEye-4, eyeHeight-4, 12, 12);
noStroke();
fill("#AA827C");
rect(0, 250, 640, 134);
noStroke();
fill("#9B736D");
rect(0, 384, 640, 30);
noStroke();
fill("#E1ACA4");
rect(0, 414, 640, 86);
noStroke();
fill("#F3EEE9");
rect(sushiX, 250, 175, 80, 29);
if (sushiType == 'egg'){
noStroke();
fill("#F2BD39");
rect(sushiX-20, 224, 214, 53, 7);
noStroke();
fill("#F8D683");
rect(sushiX-20, 224, 214, 20, 7);
noStroke();
fill("#424944");
rect(sushiX+72, 220, 30, 24);
noStroke();
fill("#27312B");
rect(sushiX+72, 244, 30, 33);
noStroke();
fill("#151916");
rect(sushiX+72, 277, 30, 53);
} else if(sushiType == 'salmon'){
noStroke();
fill("#EC9326");
rect(sushiX-20, 224, 214, 53, 7);
var space = 32;
var sushiY = sushiX + 19;
strokeWeight(10);
stroke('#F6CCAF');
line(sushiX, 229, sushiY, 272);
strokeWeight(10);
stroke('#F6CCAF');
line(sushiX + space, 229, sushiY + space, 272);
strokeWeight(10);
stroke('#F6CCAF');
line(sushiX + space * 2, 229, sushiY + space * 2, 272);
strokeWeight(10);
stroke('#F6CCAF');
line(sushiX + space * 3, 229, sushiY + space * 3, 272);
strokeWeight(10);
stroke('#F6CCAF');
line(sushiX + space * 4, 229, sushiY + space * 4, 272);
strokeWeight(10);
stroke('#F6CCAF');
line(sushiX + space * 5, 229, sushiY + space * 5, 272);
} else if(sushiType == 'tuna') {
noStroke();
fill("#F2464A");
rect(sushiX - 20, 224, 214, 53, 7);
var space = 30;
var sushiY = sushiX + 17;
strokeWeight(5);
stroke('#FFA2A9');
line(sushiX + 35 - space, 229, sushiY - space, 272);
strokeWeight(5);
stroke('#FFA2A9');
line(sushiX + 35, 229, sushiY, 272);
strokeWeight(5);
stroke('#FFA2A9');
line(sushiX + space + 35, 229, sushiY + space, 272);
strokeWeight(5);
stroke('#FFA2A9');
line(sushiX + space * 2 + 35, 229, sushiY + space * 2, 272);
strokeWeight(5);
stroke('#FFA2A9');
line(sushiX + space * 3 + 35, 229, sushiY + space * 3, 272);
strokeWeight(5);
stroke('#FFA2A9');
line(sushiX + space * 4 + 35, 229, sushiY + space * 4, 272);
strokeWeight(5);
stroke('#FFA2A9');
line(sushiX + space * 5 + 35, 229, sushiY + space * 5, 272);
}
}
function mousePressed() {
let sushis = ['egg', 'salmon', 'tuna']
floats = [1.0, 1.1, 1.2, 1.3, 1.4, 1.5];
colors = ['#6A6159', '#c795b5', '#1d3f75', '#c9b75b', '#cc7a4e', '#6d1873'];
sushiX = random(38, 430);
sushiType = random(sushis);
eyeballSize = random (23, 43);
eyeSize = random (floats);
browHeight = random(137, 160);
browAngle = random(0, 10);
}
I made three different kinds of sushi and made them correlate to different string variables, “egg”, “salmon”, and “tuna”. I also tried to make the position of the eyes correspond to the location of the sushi so that the eyes would follow the sushi. It was fun playing around with different variables to see what types of expressions could be made just by switching around different values.
I showed this to a friend and they mentioned that it kind of looks like sushi going along a conveyor belt!