Mais uma aula mutcho-boa!!!
É muito divertido trabalhar esses elementos gráficos.
Pra variar, fiz lá meus ajustes. Usei losango ao invés de 2 triângulos, assim economiza linhas de código, né? O losango tem apenas uma linha a mais do que o triângulo e o dobro da forma, produtividade total.
Ao final, o código da aula ficou assim:
<title>bandeira</title>
<canvas width="600" height="400"></canvas>
<script>
// criar tela e pincel
var tela = document.querySelector('canvas');
var pincel = tela.getContext ('2d');
// preenchimento do fundo
pincel.fillStyle = 'grey';
pincel.fillRect(0, 0, 600, 400);
// elementos da bandeira
// retângulo verde
pincel.fillStyle = 'green';
pincel.fillRect(78, 50, 446, 300);
// losango amarelo (desenhar 4 linhas))
pincel.fillStyle = 'yellow';
pincel.beginPath();
pincel.moveTo(300, 84);
pincel.lineTo(112, 200);
pincel.lineTo(300, 316);
pincel.lineTo(488, 200);
pincel.fill();
// confirmação tamanho losango
//pincel.fillStyle = 'red';
//pincel.fillRect(112, 84, 188, 116);
//pincel.fillRect(300, 200, 188, 116);
// círculo azul (iniciar path + função arc)
pincel.fillStyle="darkblue";
pincel.beginPath();
pincel.arc(300, 200, 75, 0, 2 * 3.14);
pincel.fill();
// guias verticais
//pincel.fillStyle = 'cyan';
//pincel.fillRect(76, 0, 1, 400);
//pincel.fillRect(112, 0, 1, 400);
//pincel.fillRect(224, 0, 1, 400);
//pincel.fillRect(300, 0, 1, 400);
//pincel.fillRect(375, 0, 1, 400);
//pincel.fillRect(488, 0, 1, 400);
//pincel.fillRect(524, 0, 1, 400);
// guias horizontais
//pincel.fillStyle = 'cyan';
//pincel.fillRect(0, 49, 600, 1);
//pincel.fillRect(0, 83, 600, 1);
//pincel.fillRect(0, 124, 600, 1);
//pincel.fillRect(0, 200, 600, 1);
//pincel.fillRect(0, 275, 600, 1);
//pincel.fillRect(0, 317, 600, 1);
//pincel.fillRect(0, 351, 600, 1);
</script>
No código, deixei comentada as guias para construção dos elementos da bandeira e, também, a confirmação do tamanho e posicionamento do losango.
É isso, cada vez mais divertido e interessante fazer as aulas.
Abs e bons estudos!!