<canvas width="600" height="400"></canvas>
<script>
var tela = document.querySelector('canvas');
var pincel = tela.getContext('2d');
pincel.fillStyle = 'lightgray';
pincel.fillRect(0, 0, 600, 400);
var raio = 10;
var x_rand = 10;
var y_rand = 10;
function desenhaCirculo(x, y, raio, cor) {
pincel.fillStyle = cor;
pincel.beginPath();
pincel.arc(x, y, raio, 0, 2 * Math.PI);
pincel.fill();
}
function desenhaAlvos(x,y,raio)
{
desenhaCirculo(x,y,3*raio,'red');
desenhaCirculo(x,y,2*raio,'white');
desenhaCirculo(x,y,raio,'red');
}
function limpaTela() {
pincel.clearRect(0, 0, 600, 400);
}
function sorteio(n){
return Math.floor(Math.random() * n);
}
function mover_alvo(){
x_rand = sorteio(600)
y_rand = sorteio(400)
limpaTela();
desenhaAlvos(x_rand,y_rand,raio);
}
function dispara(evento) {
var x = evento.pageX - tela.offsetLeft;
var y = evento.pageY - tela.offsetTop;
// lógica de acerto?
if((x < x_rand+ raio) &&
(x > x_rand - raio) &&
(y < y_rand + raio) &&
(y > y_rand - raio) )
{
alert('acertou');
}
}
setInterval(mover_alvo, 1000);
tela.onclick = dispara;
</script>