Hola, buenas!! Dejo el codigo de mi resolucion, en mi caso uso la operacion resto "%" (es lo que sobra de hacer una division) asi poder identificar cuando va y cuando vuelve. Espero que pueada ayudar, y que vean que hay varios caminos para llegar a un mismo objetivo.
function limpiarPantalla(){
pincel.clearRect(0,0,600,400);
}
var x = 0;
var contador = 0;
function actualizarPantalla(){
limpiarPantalla();
disenharCircunferencia(x,20,10);
if (contador%2==0)
{
x++;
if (x>600)
{
contador++;
}
}
else
{
x--;
if (x<0)
{
contador++;
}
}
}
setInterval(actualizarPantalla,50);