xxxxxxxxxx
42
let size;
let gridSize = 4;
let center = new p5.Vector(0, 0);
let colors = [
'#fa0395',
'#ff0000',
'#0000ff'
];
function setup() {
createCanvas(400, 400);
size = width / (gridSize + 2);
rectMode(CENTER);
// noLoop();
frameRate(1);
noStroke();
}
function draw() {
translate(size * 1.5, size * 1.5);
background(0);
drawGrid(gridSize);
}
let drawGrid = (columns = 5, rows = columns) => {
for (let i=0; i<columns; i++){
for (let j=0; j<rows; j++){
fill(random(colors));
drawShape(round(random(6)), i * size, j * size);
}
}
}
let drawShape = (number, x, y) => {
number == 1 && rect(center.x + x, center.y + y, size,size);
number == 2 && ellipse(center.x + x, center.y + y, size,size);
number == 3 && arc(center.x-size/2 + x,center.y-size/2 + y,size*2,size*2, 0, HALF_PI);
number == 4 && arc(center.x-size/2 + x,center.y+size/2 + y,size*2,size*2, -HALF_PI, 0);
number == 5 && arc(center.x+size/2 + x,center.y-size/2 + y,size*2,size*2, HALF_PI, PI);
number == 6 && arc(center.x+size/2 + x,center.y+size/2 + y,size*2,size*2, PI, -HALF_PI);
};