Solucionado (ver solução)
Solucionado
(ver solução)
5
respostas

Olá, não consigo achar o erro em meu código, já o reescrevi diversas vezes e nunca funciona!

5 respostas

Olá Julia põe aqui seu código para podermos ajudar.

<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 xAleatorio;
    var yAleatorio;

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

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

    function limpaTela () {

        pincel.clearRect(0, 0, 600, 400);
    }

    function desenhaAlvo (x, y) {

        desenhaCirculo (x, y, raio+20, 'red');
        desenhaCirculo (x, y, raio+10, 'yellow');
        desenhaCirculo (x, y, raio, 'red');
    }

    function sorteiaPosicao (maximo){

        return Math.floor (Math.Random() * maximo);
    }

    function atualizaTela () {

        limpaTela ();
        xAleatorio = sorteiaPosicao (600);
        yAleatorio = sorteiaPosicao (400);
        desenhaAlvo (xAleatorio, yAleatorio);
    }

    setInterval (atualizaTela, 1000);

    function dispara (evento) {

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

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

            alert ('ACERTOU!!!');
        }

    }

    tela.onclick = dispara;

</script>
solução!

Boa tarde Júlia, você colocou Math.Random( ), sendo que o certo é Math.random( ) , o r é minúsculo, só corrigir isso, que ele volta a funcionar.

obrigada!