Pensei em resolver essa questão usando a equação reduzida da circunferência: (x - xc)² + (y – yc)² = R²
Assim, o código da função dispara fica da seguinte maneira:
function dispara(evento) {
var x = evento.pageX - tela.offsetLeft;
var y = evento.pageY - tela.offsetTop;
var xdif = x-300;
var ydif = y-200;
if((xdif*xdif)+(ydif*ydif) <= (raio*raio)) {
alert("Acertou!");
}
}
Testei aqui e aparentemente está correto. Alguém consegue dizer se não podemos usar esse recurso matemático?