Buenas el programa corre bien siempre que borre la función disparar del código, la eh leído mucho y no entiendo, porque esta interrumpiendo la ejecución.
pueden comentar la función "disparar" para comprobar.
gracias por su ayuda
var pantalla = document
 .querySelector("canvas");
var pincel = pantalla
 .getContext("2d");
pincel.fillStyle =
 "lightgrey";
pincel.fillRect(0, 0, 345,
 400);
var xAleatorio;
var yAleatorio;
var GolpeCertero;
function sortearPosicion(
 maximo) {
 return Math.floor(Math
  .random() * maximo);
}
var radio = 5;
function disenharCircunferencia(
 x, y, radio, color) {
 pincel.fillStyle = color;
 pincel.beginPath();
 pincel.arc(x, y, radio, 0,
  2 *
  Math.PI);
 pincel.fill();
}
function limpiarPantalla() {
 pincel.clearRect(0, 0, 600,
  400);
}
var x = 0;
var sentido = 1;
function diseñarObjetivo(
 x, y) {
 disenharCircunferencia(
  x, y, radio + 20, "red");
 disenharCircunferencia(
  x, y, radio + 10, "white");
 disenharCircunferencia(
  x, y, radio, "red");
}
function disparar(evento) {
 var x = evento.pageX - pantalla
  .offsetLeft;
 var y = evento.pageY - pantalla
  .offsetTop;
 if (x < xAleatorio + radio) &&
  (x > xAleatorio - radio) &&
  (y < yAleatorio + radio) &&
  (y > yAleatorio - radio) {
   alert(" Golpe certero ! ");
  }
}
function actualizarPantalla() {
 limpiarPantalla();
 xAleatorio = sortearPosicion(
  300);
 yAleatorio = sortearPosicion(
  350);
 diseñarObjetivo(xAleatorio,
  yAleatorio);
 x = x + 1;
}
setInterval(actualizarPantalla,
 1700);
pantalla.onclick = disparar;
 
            