Primeiro tentei fazer o exercicio criando uma nova função e condicionando a execução de cada uma a partir de um limitador, mas não rolou kk ainda não entendi porque, mas estava assim:
<canvas width="600" height="400"></canvas>
<script>
var tela = document.querySelector('canvas');
var pincel = tela.getContext('2d');
pincel.fillStyle = 'lightgray';
pincel.fillRect(0, 0, 600, 400);
function desenhaCirculo(x, y, raio) {
pincel.fillStyle = 'blue';
pincel.beginPath();
pincel.arc(x, y, raio, 0, 2 * Math.PI);
pincel.fill();
}
function limpaTela() {
pincel.clearRect(0, 0, 600, 400);
}
var x = 20;
var limitador = 0;
function andaPraFrente() {
limpaTela();
if (x > 600){
limitador = 1;
}
desenhaCirculo(x, 20, 10);
x++;
console.log (limitador);
}
function andaPraTras() {
limpaTela();
if (x < 0){
limitador = 0;
}
desenhaCirculo(x, 20, 10);
x--;
}
if (limitador == 0){
setInterval(andaPraFrente, 10);
} else if (limitador == 1){
setInterval (andaPraTras, 10);
}
</script>
Depois refiz o exercicio utilizando o pensamento do professor e deu certinho