1
resposta

Acertando o alvo. - Está correto ?

<!DOCTYPE html>
<html lang="pt-br">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Alvo</title>
</head>
<body>
    <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'); // maior círculo
        desenhaCirculo(300,200, raio + 10, 'white');
        desenhaCirculo(300,200, raio, 'red'); // menor circulo

        function dispara(evento) {

            var x = evento.pageX - tela.offsetLeft;
            var y = evento.pageY - tela.offsetTop;

            console.log(x, y);

        // lógica de acerto?
        if (x > 290 && x < 310 && raio && y > 190 && y < 210){
            alert ("Alvo acertado");

        }
        }

        tela.onclick = dispara;

    </script>
</body>
</html>
1 resposta

Olá, Geovani! Tudo bem?

Parabéns pelo seu empenho, sua solução ficou excelente!

Caso tenha alguma dúvida não deixe de compartilhar com a gente.

Continue praticando, bons estudos e até mais.