clearRect no funciona

Estoy haciendo un juego de Pong en javascript para aprender a hacer juegos, y quiero hacerlo orientado a objetos.

No puedo obtenerclearRect trabajar. Todo lo que hace es dibujar una línea que crece más. Aquí está el código relevante:

function Ball(){
    this.radius = 5;
    this.Y = 20;
    this.X = 25;
    this.draw = function() {
        ctx.arc(this.X, this.Y, this.radius, 0, Math.PI*2, true);
        ctx.fillStyle = '#00ff00';
        ctx.fill();
    };
}

var ball = new Ball();

function draw(){
    player.draw();
    ball.draw();
}

function update(){
    ctx.clearRect(0, 0, 800, 400);
    draw();
    ball.X++;
}

He tratado de poner elctx.clearRect parte en eldraw() yball.draw() funciona y no funciona. También probéfillRect con blanco pero da los mismos resultados. ¿Cómo puedo arreglar esto

Respuestas a la pregunta(2)

Su respuesta a la pregunta