1
resposta

Inofensiva flor

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>
1 resposta

Oie, Natália! Tudo bem por aí?

Excelente, sua solução ficou muito bacana, e seu código ficou muito bem estruturado, parabéns!

Caso tenha alguma dúvida não deixe de compartilhar.

Bons estudos e até mais! =)