2
respostas

game alvo

sinceramente o maior desafio do programador é ele mesmo kkk só nesse código tive alguns erros bobos que passam despercebidos kkk

<!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>Game alvo</title>
</head>

<body>
    <canvas width="600" height="400"></canvas>

    <script>

        var canvas = document.querySelector('canvas');
        var context = canvas.getContext('2d');
        var xAleatorio;
        var yAleatorio;
        var raio = 10;

        context.fillStyle = 'lightgray';
        context.fillRect(0, 0, 600, 400);

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

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

        }

        function limpaCanvas() {
            context.clearRect(0, 0, 600, 400);
            context.fillStyle = 'lightgray';
            context.fillRect(0, 0, 600, 400);
        }

        function desenhaAlvo(x, y) {
            desenhaCirculo(x, y, raio + 20, 'red');
            desenhaCirculo(x, y, raio + 10, 'white');
            desenhaCirculo(x, y, raio, 'red');
        }

        function posicaoAleatoria(inicial, final) {
            return Math.floor(Math.random() * (final - inicial) + inicial);
        }

        function atualizarCanvas() {
            limpaCanvas();

            xAleatorio = posicaoAleatoria(0, 600);
            yAleatorio = posicaoAleatoria(0, 400);

            desenhaAlvo(xAleatorio, yAleatorio)
        }

        function dispara(evento) {

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

            if ((x > xAleatorio - raio)
                && (x < xAleatorio + raio)
                && (y > yAleatorio - raio)
                && (y < yAleatorio + raio)) {

                alert('acertou')

            }
        }

        canvas.addEventListener('click', dispara)

        setInterval(atualizarCanvas, 500);

    </script>
</body>

</html>
2 respostas

Vou testar!!

Funcionou!! Esta certinho.