Resolvi ir um pouquinho além de uma flor :)
<canvas width="600" height="400"></canvas>
<script>
var tela = document.querySelector('canvas');
var pincel = tela.getContext('2d');
pincel.fillStyle = 'lightgray';
pincel.fillRect(0, 0, 600, 400);
function desenhaCirculo(x, y, raio, cor) {
pincel.fillStyle = cor;
pincel.beginPath();
pincel.arc(x, y, raio, 0, 2 * 3.14);
pincel.fill();
}
function desenhaFlor(centrox, centroy) {
//scope da função desenha flor
var distanciaEntrePetalas = 20;
//chamando a função desenha flor, ao invés de dar valores, passamos variavéis para que o cod possa ser mutado - centrox e y.
desenhaCirculo(centrox, centroy, 10, 'yellow'); //centro
desenhaCirculo(centrox - distanciaEntrePetalas, centroy, 10, 'red'); //pétala esquerda
desenhaCirculo(centrox + distanciaEntrePetalas, centroy, 10, 'blue'); //pétala direita
desenhaCirculo(centrox, centroy - distanciaEntrePetalas, 10, 'black'); //pétala superior
desenhaCirculo(centrox, centroy + distanciaEntrePetalas, 10, 'purple'); //pétala inferior
}
//atribuiu variaveis ao y e deseguinou valor para distancia das flores. Sendo valor de y mutavél, distancia não.
let y = 0;
const distancia = 80;
//aqui o loop externo vertical
while (y < 400) {
console.log("A condição é esta: y < 400, e o valor de y é " + y);
var x = 0;
//o novo de y é igual o valor antigo de y do que tiver a direita do sinal
while (x < 600) {
//loop interno horizontal
console.log("Meu valor de y: " + y + " e meu valor de x: " + x);
desenhaFlor(x, y);
x += distancia
}
y += distancia
}
</script>