1
resposta

Exercicio resolvido de forma menos confusa

Como fico confuso com o uso dos loops, de inicio estou evitando, mas consegui fazer o código funcionar sem os loops \o/

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

<script>

    function desenhaRetangulo(x, y, largura, altura, cor) {
        var tela = document.querySelector('canvas');
        var pincel = tela.getContext('2d');

        pincel.fillStyle=cor;
        pincel.fillRect(x,y, largura, altura);
        pincel.strokeStyle='black';
        pincel.strokeRect(x,y, largura, altura);
    }

    function desenhaTexto(x, y, texto) {
        var tela = document.querySelector('canvas');
        var pincel = tela.getContext('2d');

        pincel.font='15px Georgia';
        pincel.fillStyle='black';
        pincel.fillText(texto, x, y);    
    }

    function desenhaBarra(x,y,serie,cor,texto) {
        desenhaTexto(x,y-30,texto)

        desenhaRetangulo(x,y,50,serie[0],cor[0])
        desenhaRetangulo(x,y + serie[0] ,50,serie[1],cor[1])
        desenhaRetangulo(x,y+serie[0]+serie[1],50,serie[2],cor[2])
        desenhaRetangulo(x,y+serie[0]+serie[1]+serie[2],50,serie[3],cor[3])

    }

var serie2015 = [50,25,20,5];
var serie2016 = [65,20,13,2];
var cores = ['blue', 'green', 'yellow', 'red'];

desenhaBarra(50,50,serie2015,cores,"2015");

desenhaBarra(150,50,serie2016,cores,"2016");


</script>
1 resposta

Fala, Adriano! Tudo bem contigo?

Desculpe a demora em dar um retorno!

Bacana a maneira de construir de um jeito que entenda o que está acontecendo!!!

Isso é importante ;-)

Vá colocando loopings aos poucos para que possa avançar devagar, porém consolidado!

Lá na frente você estará seguro do que acontece em várias situações para encontrar uma solução

Um abraço e bons estudos