2
respostas

Fiz diferente. Queria saber se tem algum problema desse jeito ?

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

<script>


    function desenhaBarra(x, y, tamanho, cor, texto,) {

        var tela = document.querySelector('canvas');
        var pincel = tela.getContext('2d');

        pincel.fillStyle=cor;
        pincel.fillRect(x,y, 50, tamanho);
        pincel.strokeStyle='black';
        pincel.strokeRect(x,y, 50, tamanho);

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

     function serie2015(x, y, Ano) {      

        desenhaBarra(x, y, 50, 'blue', 'Chrome'); 
        desenhaBarra(x, y+50, 25, 'green', 'Firefox'); 
        desenhaBarra(x, y+50+25, 20, 'yellow', 'Safari'); 
        desenhaBarra(x, y+50+25+20, 5, 'red', 'Outros');       

        var tela = document.querySelector('canvas');
        var pincel = tela.getContext('2d');
        pincel.font='15px Georgia';
        pincel.fillStyle='black';
        pincel.fillText(Ano, x+10, y-6);

  }

       function serie2016(x, y, Ano) {

    desenhaBarra(x, y, 65, 'blue', 'Chrome'); 
        desenhaBarra(x, y+65, 20, 'green', 'Firefox'); 
        desenhaBarra(x, y+65+20, 13, 'yellow', 'Safari'); 
        desenhaBarra(x, y+65+20+13, 2, 'red', 'Outros');  

        var tela = document.querySelector('canvas');
        var pincel = tela.getContext('2d');
        pincel.font='15px Georgia';
        pincel.fillStyle='black';
        pincel.fillText(Ano, x+10, y-6);
  }

   serie2015(100, 50, '2015');
   serie2016(220, 50, '2016');


</script>
2 respostas

Boa tarde, Lucas! Como vai?

Não há problema nenhum! Vc acabou de descobrir que no mundo da programação normalmente há várias soluções para um mesmo problema!

Uma dica que te dou é que se vc observar bem, já tem as funções serie2015() e serie2016(), portanto vc já sabe de antemão a qual ano elas se referem! Desse modo não precisando passar o parâmetro ano para cada uma delas! E isso vai levar a duas outras dicas! Veja que ambas as funções são bem parecidas então vc poderia tentar generalizar e criar uma única função genérica que funcionasse pra qualquer caso! Outra coisa, o parâmetro Ano, seguindo a convenção de nomenclatura do JS, deveria se chamar ano.

Pegou a ideia? Qualquer coisa é só falar!

Grande abraço e bons estudos, meu aluno!

Entendi e obrigado.