let colorBtn, sizeSlider, shapeSelect;
let shapeColor;
function setup() {
createCanvas(640, 400);
noStroke();
textFont("Helvetica, Arial, sans-serif");
// starting color
shapeColor = color(random(255), random(255), random(255));
// Button: change color
colorBtn = createButton("Change Color");
colorBtn.position(16, 16);
colorBtn.mousePressed(randomShapeColor);
function randomShapeColor() {
shapeColor = color(random(255), random(255), random(255));
}
// Slider: controls size
createP("Size").position(0, 50).style("margin", "4px 0 0 16px");
sizeSlider = createSlider(20, 220, 100, 1);
sizeSlider.position(15, 70);
// Dropdown: choose shape
createP("Shape").position(0, 100).style("margin", "8px 0 0 16px");
shapeSelect = createSelect();
shapeSelect.position(16, 130);
shapeSelect.option("ellipse");
shapeSelect.option("rect");
shapeSelect.option("triangle");
}
function draw() {
background(240);
push();
translate(width * 0.65, height * 0.5);
let s = sizeSlider.value();
fill(shapeColor);
// draw chosen shape
let choice = shapeSelect.value();
if (choice === "ellipse") {
ellipse(0, 0, s, s);
} else if (choice === "rect") {
rectMode(CENTER);
rect(0, 0, s, s);
} else if (choice === "triangle") {
triangle(-s * 0.6, s * 0.5, 0, -s * 0.6, s * 0.6, s * 0.5);
}
pop();
}