<canvas width="600" height="400"> </canvas>
<script>
var pantalla = document.querySelector("canvas");
var pincel = pantalla.getContext("2d");
pincel.fillRect(0,0,600,400);
var x = 0;
var y = 1;
function disenharCircunferencia(x,y,radio){
pincel.fillStyle = "blue";
pincel.beginPath();
pincel.arc(x,y,radio,0,2*Math.PI);
pincel.fill();
}
function limpiarPantalla(){
pincel.clearRect(0,0,600,400);
}
function actualizarPantalla(){
limpiarPantalla();
disenharCircunferencia(x,20,10);
x=x+(y);
verificarSentido();
}
function verificarSentido(){
if(x==590){
y=-1;
}
if(x==10){
y=1;
}
}
setInterval(actualizarPantalla,10);
</script>
He visto el código del profesor y tiene razón en: "Existen varias formas de conseguir ese resultado, así como todo en el universo de programación". Y he aquí mi forma de resolver el código, lo hice así principalmente por la estética de seguir usando funciones o métodos que solo hagan una cosa y la implementen otras para mejorar su propia función.