1
resposta

Resposta alternativa

Eu não tinha entendido muito bem o que era pra fazer nesse exercício, então eu fiz uma função usando o loop com while e for para criar uma determinada fração. O x são as quantidades de quadrados verdes desejados, o y a quantidade de quadrados em branco desejados, o tamanho é o tamanho do quadrado, e por fim a cor dos quadrados: Segue uma foto de como ficou.

<canvas height="600" width="600"></canvas>

<script>

    function desenhaQuadrado(x, y, tamanho, cor) {
        // aqui precisamos usar fillRect, strokeRect, etc 
        var tela = document.querySelector("canvas");
        var pincel = tela.getContext("2d");

        pincel.fillStyle = "gray";
        pincel.fillRect(0,0,600,600);


        //Texto escrito fazendo a pergunta
        pincel.fillStyle = "black";
        pincel.font='20px Georgia';
        pincel.fillText("Qual a fração?", 10, 30); 



        //Loop para a quantidade de quadrados desejados
        var pulax = 0;
        for (var inicio = 0; inicio <= x-1; inicio++ ) {

            pincel.fillStyle = cor;
            pincel.fillRect(tamanho*inicio, 40, tamanho, tamanho);
            pincel.strokeStyle = "black"
            pincel.strokeRect(tamanho*inicio, 40, tamanho, tamanho);
            pulax = pulax + 40;

        }


        // Loop para a quantidade de quadrados em brancos
        var tamanhoy = tamanho;
        tamanho = tamanho*x + tamanhoy;
        var inicio = 1;
        while (y > 0 ) {
            pincel.fillStyle = "white";
            pincel.fillRect(tamanho - tamanhoy-tamanhoy*inicio, 40, tamanhoy, tamanhoy);
            pincel.strokeStyle = "black"
            pincel.strokeRect(tamanho - tamanhoy-tamanhoy*inicio, 40, tamanhoy, tamanhoy);
            y--;
            inicio++;
        }



    }   

    desenhaQuadrado(8,5,60,"green");


</script>
1 resposta

Oi, André! Tudo bem por aí?

Muito bom, a solução está correta, parabéns.

Qualquer dúvida estamos à disposição.

Continue praticando e bons estudos!

Até mais! =)