constructor(x, y, color) {
this.size = random(5, 20);
this.xoff = random(0, 100);
this.yoff = random(0, 100);
if (this.size > random(2,5)) {
gradientCircle(this.x, this.y, this.size, PI/4, color("#25D9B8"), color("#118C76"));
this.x += (noise(this.xoff) - .5)*5;
this.y -= (noise(this.yoff) - .5)*5;
dots.splice(dots.indexOf(this), 1);
function gradientCircle(x, y, r, a, c1, c2) {
for (let x = -r; x < r; x++) {
stroke(lerpColor(c1, c2, (x+r)/r));
let y = r*sin(acos(x/r));
let colors = ["#393E47", "#00ADB6", "#FFF4E1", "#F8B501", "#FC3C3D"];
let c = createCanvas(windowWidth, windowHeight - 40);
c.mouseOver(() => isOver = true);
c.mouseOut(() => isOver = false);
let x = random(-50, 50);;
let y = random(-50, 50);;
if (mouseIsPressed && isOver) {
dots.push(new Dot(x, y, colors[int(random(colors.length))]));
for (let i = 0; i < 5; i++) {
function windowResized() {
resizeCanvas(windowWidth, windowHeight);