Tive que ver a VER OPINIÃO DO INSTRUTOR depois de passar horas tentando fazer sozinho... A solução do instrutor me ajudou bastante mas o código não fez muito sentido pra mim! Então tentei construir o código de uma maneira que fizesse mais sentido pra mim.
<meta charset="UTF-8">
<canvas width="600" height="400"></canvas>
<script>
var tela = document.querySelector('canvas');
var pincel = tela.getContext('2d');
//background
pincel.fillStyle = 'lightgrey';
pincel.rect(0, 0, 600, 400);
pincel.fill();
function desenhaCirculo(x, y, raio, cor)
{
pincel.fillStyle = cor;
pincel.beginPath();
pincel.arc(x, y, raio, 0, 2 * Math.PI);
pincel.stroke();
pincel.fill();
}
var sentido = 1;
var x = 30;
function atualizaTela()
{
pincel.clearRect(0, 0, 600, 400);
}
function moveCirculo()
{
atualizaTela();
desenhaCirculo(x, 200, 20, 'purple');
x = x + sentido;
if (x >= 570)
{
sentido = -1;
}
if (x <= 30)
{
sentido = 1;
}
}
setInterval(moveCirculo, 5);
</script>