Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

Quando tiver repetição de comando eu crio uma function?

<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();
    }

    desenhaCirculo(300, 200, 30, "red");
    desenhaCirculo(300,140, 30, "yellow");
    desenhaCirculo(300, 260, 30, "blue");
    desenhaCirculo(240, 200, 30, "orange");
    desenhaCirculo(360, 200, 30, "black")

</script>

Eu tinha feito o programa desse jeito, sem a função desenhaFlor, e deu certo. Quando fui comparar meu programa com o do professor, tinha a função desenhaFlor, quando eu tiver comandos repetitivos no meu código eu posso pensar em uma maneira de criar uma função para deixar o código mais limpo e prático ? Semelhante o do professor

<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 * Math.PI);
        pincel.fill();
    }

    function desenhaFlor(x, y) {

        desenhaCirculo(x, y+20, 10, 'blue');
        desenhaCirculo(x, y, 10, 'red');
        desenhaCirculo(x, y-20, 10, 'yellow');
        desenhaCirculo(x-20, y, 10, 'orange');
        desenhaCirculo(x+20, y, 10, 'black');
    }

    desenhaFlor(300, 200);

</script>
2 respostas
solução!

Marcus, tudo bem ?

Exatamente isso !!

Mostramos desde cedo as boas práticas, mas basicamente é o seguinte, se estamos dando ctrl c ctrl v num código, significa que podemos isola-lo num método.

Tudo sim!

É verdade, eu entendi quando devo usar, muito obrigado!