xxxxxxxxxx
73
let flowers = []; //array of flowers
function setup() {
createCanvas(400, 400);
flowerPower(); //generate 20 flowers
}
function draw() {
background("lightblue");
updateAndDrawFlowers();
}
function mousePressed() {
// Plant a new flower where the mouse is clicked
flowers.push(createFlower(mouseX, mouseY));
}
function updateAndDrawFlowers() {
for (let i = 0; i <= flowers.length - 1; i++) {
let flower = flowers[i];
drawFlower(flower);
flower.lifespan -= 1; // Reduce lifespan
if (flower.lifespan <= 0) {
flowers.splice(i, 1); // Remove wilted flower
}
}
}
//function to create 20 flowers
function flowerPower(){
for(let i = 0; i < 20; i++){
//create a flower in a random location
let flower1 = createFlower(random(400), random(400));
//add the flower to the flowers array
flowers.push(flower1);
}
}
function createFlower(x, y) {
return {
x: x,
y: y,
size: random(20,75),
lifespan: random(255,300),
color: color(random(255), random(255), random(255))
};
}
function drawFlower(flower) {
push();
translate(flower.x, flower.y);
noStroke();
fill(flower.color);
// Draw petals
for (let i = 0; i < 4; i++) {
ellipse(0, flower.size / 2, flower.size);
angleMode(DEGREES);
rotate(90);
}
// Draw center
fill(255, 204, 0); // Yellow center
ellipse(0, 0, flower.size / 2);
pop();
// Apply wilting effect
flower.size = flower.size * 0.99; // Shrink size
}