Nossa muito bom a automatização do alvo com array, eu fiz só que de outra forma o que acha?
<canvas width="600" height="400"></canvas>
<script>
var tela = document.querySelector('canvas');
var pincel = tela.getContext('2d');
var xAlvo = 300;
var yAlvo = 200;
var raioI = 49;
pincel.fillStyle = '#B6B6B6';
pincel.fillRect(0, 0, 600, 400);
function densehaAlvo(){
var i = 7;
while(i < raioI){
pincel.fillStyle = 'red';
pincel.beginPath();
pincel.arc(xAlvo, yAlvo, raioI, 0, 2*Math.PI);
pincel.fill();
raioI -= i;
pincel.fillStyle = 'white';
pincel.beginPath();
pincel.arc(xAlvo, yAlvo, raioI, 0, 2*Math.PI);
pincel.fill();
raioI -= i;
}
}
densehaAlvo();
tela.onclick = function(evento){
var x = evento.pageX - tela.offsetLeft;
var y = evento.pageY - tela.offsetTop;
if(x <= xAlvo+raioI && x >= xAlvo-raioI && y <= yAlvo+raioI && y >= yAlvo-raioI){
console.log('Acertou');
}else{
console.log(x + ',' + y);
}
}
</script>
Quem puder me ajudar a melhorar meu código fique a vontade