Poxa, acho que entendi errado este exercício.
Mas acho que valeu, tinha entendido que a bolinha resetava sua posição inicial, então fiz desta forma:
<canvas width="600" height="400"></canvas>
<script>
var canvas = document.querySelector('canvas');
var ctx = canvas.getContext('2d');
ctx.fillStyle = 'lightgray';
ctx.fillRect(0, 0, 600, 400);
function drawCircle(x, y, radius) {
ctx.fillStyle = 'blue';
ctx.beginPath();
ctx.arc(x, y, radius, 0, 2 * Math.PI, false);
ctx.fill();
}
function clearCanvas() {
ctx.clearRect(0, 0, 600, 400);
}
var x = 20
function refreshCanvas() {
clearCanvas();
drawCircle(x, 20, 10);
x++;
}
function verifyX() {
if (x > 600) {
x = 0;
}
}
setInterval(verifyX, 5);
setInterval(refreshCanvas, 5);
drawCircle(20, 20, 10);
</script>
Ela fica resetando sua posição inicial enquanto do exercício ela vai e volta, será que valeu?