Oi Lucas, o objetivo deste exercício é fazer com que haja uma troca a cada espaço de tempo entre as duas bandeiras, vamos começar mostrando a bandeira do Brasil e depois de 3 segundos mostraremos a bandeira da Alemanha, passado mais 3 segundos a bandeira do Brasil novamente e assim sucessivamente.
Existem várias maneiras de conseguir o objetivo e seu algoritmo cumpre o que é pedido, portanto ele é válido.O que pode ser otimizado é reduzir o tamanho das funções em funções menores.
Ex:
funciton desenhaRetanguloVerde(){
pincel.fillStyle="green";
pincel.fillRect(0, 0, 600, 400);
}
function desenhaLosangoAmarelo( ) {
var tela = document.querySelector('canvas');
var pincel = tela.getContext('2d');
pincel.fillStyle="yellow";<br>
pincel.beginPath();<br>
pincel.moveTo(300, 50);<br>
pincel.lineTo(50, 200);<br>
pincel.lineTo(550, 200);<br>
pincel.fill();<br>
}
E aí na função desenha BandeiraBrasil ficaria melhor de entender o código.
function desenhaBandeiraBrasil() {
desenhaRetanguloVerde()
desenhaLosangoAmarelo( )
}
Porém como disse isso seria uma "otimização" o que varia de programador pra programador. Se você não tiver mais nenhuma dúvida a respeito desse exercício você pode marcar uma resposta como solução, finalizando assim esse tópico.Espero ter ajudado. Bons estudos.