¿Cómo uso bucles anidados para crear un calendario para 2021 donde hay 12 columnas de círculos negros, donde la cantidad de círculos para cada columna corresponde a la cantidad de días en ese mes?
Por ejemplo, la primera columna de círculos representará enero y tendrá 31 círculos. Cada círculo debe tener 10 píxeles de ancho y el lienzo debe tener 140 X 330, lo que permitirá un espacio de 10 píxeles alrededor de todo el conjunto de círculos. también necesito indicar qué día es actualmente con un círculo verde y tampoco estoy seguro de cómo escribir una función para eso
esto es todo lo que tengo:
var numDays; function setup() { createCanvas(140, 330); background(220); } function draw () { fill(0); for (let m = 1; m <= 12; m +=1 ) { //set the variable numDays here for (let d = 1; d <= numDays; d += 1) { //black circles } } fill (0, 255, 0); //green circle noLoop(); }function setup() { createCanvas(400, 400); } function drawCircleRow(quantity, diameter, space, xOffset, yOffset, dayColoredOtherwise) { for(let i = 0; i < quantity; i++) { if (dayColoredOtherwise - 1 === i) { fill(127); } else { fill(0); } circle(xOffset + (diameter + space) * i, yOffset, diameter); } } function draw() { background(255); const daysPerMonth = [31, 28, 31, 30]; const monthIndex = 2; const day = 5; for (let i = 0; i < daysPerMonth.length; i++) { const days = daysPerMonth[i]; drawCircleRow(days, 5, 5, 5, 10 * (i + 1), monthIndex === i ? day : -1); } noLoop(); }Esta no es la solución completa, pero debería ser lo suficientemente buena como para adaptarla a sus propias necesidades.