Opa, segue o exercicio :D
HTML
<!DOCTYPE html>
<html lang="pt-BR">
<head>
<meta charset="UTF-8">
<title>Animação via teclado</title>
</head>
<body>
<div>
<canvas id="tela" width="600px" height="400px"></canvas>
<script src="bandeiras.js"></script>
</div>
</body>
</html>
JS
var tela = document.querySelector('#tela');
var pincel = tela.getContext('2d');
pincel.font="40px Verdana";
pincel.fillText("Bandeiras Rotativas",100,200);
pincel.strokeRect(0,0,600,400);
function geraTela() {
var tela = document.querySelector('#tela');
var pincel = tela.getContext('2d');
}
function desenhaBandeiraBrasil() {
geraTela();
pincel.fillStyle="green";
pincel.fillRect(0, 0, 600, 400);
pincel.fillStyle="yellow";
pincel.beginPath();
pincel.moveTo(300, 50);
pincel.lineTo(50, 200);
pincel.lineTo(550, 200);
pincel.fill();
pincel.beginPath();
pincel.moveTo(50, 200);
pincel.lineTo(300, 350);
pincel.lineTo(550, 200);
pincel.fill();
pincel.fillStyle="darkblue";
pincel.beginPath();
pincel.arc(300, 200, 100, 0, 2* 3.14);
pincel.fill();
}
function desenhaBandeiraAlemanha() {
geraTela();
pincel.fillStyle = 'black';
pincel.fillRect(0, 0, 600, 133);
pincel.fillStyle = 'red';
pincel.fillRect(0, 133, 600, 133);
pincel.fillStyle = 'yellow';
pincel.fillRect(0, 266, 600, 133);
}
function desenhaBandeiraHolanda() {
geraTela();
pincel.fillStyle = '#AE1C28';
pincel.fillRect(0, 0, 600, 133);
pincel.fillStyle = 'white';
pincel.fillRect(0, 133, 600, 133);
pincel.fillStyle = '#21468B';
pincel.fillRect(0, 266, 600, 133);
}
function desenhaBandeiraItalia() {
geraTela();
pincel.fillStyle = '#009246';
pincel.fillRect(0,0,200,400);
pincel.fillStyle = 'white';
pincel.fillRect(200,0,200,400);
pincel.fillStyle = '#CE2B37';
pincel.fillRect(400,0,200,400);
}
function desenhaBandeiraSuecia() {
geraTela();
pincel.fillStyle = 'blue';
pincel.fillRect(0,0,600,400);
pincel.fillStyle = 'yellow';
pincel.fillRect(0,160,600,80);
pincel.fillStyle = 'yellow';
pincel.fillRect(180,0,80,400);
}
let flag = 0;
function trocaBandeira(){
pincel.clearRect(0,0,600,400);
if(flag==0){
desenhaBandeiraBrasil();
flag++;
}else if(flag==1){
desenhaBandeiraAlemanha();
flag++;
}else if(flag==2){
desenhaBandeiraHolanda();
flag++;
}else if(flag==3){
desenhaBandeiraItalia();
flag++;
}else if(flag==4){
desenhaBandeiraSuecia();
flag=0;
}
}
setInterval(trocaBandeira,2000);