1
resposta

Meu amigo Carlos, me mostrou uma solução mais simples

Segue o código

  <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;

        function desenhaCirculo(x, y, raio, cor) {

            pincel.fillStyle = cor;
            pincel.beginPath();
            pincel.arc(x, y, raio, 0, 2 * Math.PI);
            pincel.fill();
        }

        desenhaCirculo(300,200, raio + 20, 'red');
        desenhaCirculo(300,200, raio + 10, 'white');
        desenhaCirculo(300,200, raio, 'red');

        function dispara(evento) {

            var x = evento.pageX - tela.offsetLeft;
            var y = evento.pageY - tela.offsetTop;
                if (x <= 310 && x >= 290 && y <= 210 && y >=190 ) {
                alert('Acertou');

            }

            }


        tela.onclick = dispara;

    </script>
1 resposta

Muito boa a solução. Agora, resta-nos aprender a arredondar as bordas do 'quadrado de possibilidades' para o nosso acerto funcionar exatamente dentro do círculo menor.

Essa solução pode ser que aprendamos apenas mais na frente, mas no momento devemos continuar curiosos.

Bom estudo, Pedro.