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

Função Alert

Não ler a função Alert da aula 5, exercício 3

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

<script>
  var tela = document.querySelector('canvas');
  var pincel = tela.getContext('2d');
  pincel.fillStyle = 'lightgrey';
  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, 'white');
     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;
      alert(xAleatorio);
      alert(yAleatorio);

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

           alert('Acertou!');
       }
     }
     tela.onclick = dispara;

</script>
5 respostas

Oi Aline tudo bem?

No meu computador está rodando normalmente.

Que navegador e verão dele está usando ?

Tente em outro navegador, tanto no firefox como no chrome no meu pc funcionam.

Olá, obrigada. Está aparecendo a caixinha de alerta, mas antes de aparecer a mensagem 'Acertou!', ele dar a posição em que o alvo se encontra. Uso o Chrome.

solução!

Oi Aline tudo bem?

O que faz os alert da posicação aparecer são essas duas linhas dentro da função dispara

 alert(xAleatorio);
  alert(yAleatorio);

apagar elas irá fazer com que não seja mostrado os alerts da posição.

Espero ter ajudado!!!

Bom dia! Ótima, obrigada. Fiz o teste e deu certo.

Disponha e bons estudos!