Olá, poderiam me ajudar com o codigo do game alvo? Fiz todo o código como o professor ensinou mas por algum motivo mesmo apertando no centro, não envia o alerta de "acertou", já revisei o código mas não consigo achar o erro.
Você está vendo a versão anterior da nova experiência da Alura que estamos preparando para você. Em breve, ela ganha uma identidade visual novinha totalmente pensada em potencializar seus estudos!
Olá, poderiam me ajudar com o codigo do game alvo? Fiz todo o código como o professor ensinou mas por algum motivo mesmo apertando no centro, não envia o alerta de "acertou", já revisei o código mas não consigo achar o erro.
Oi Yasmim
Você poderia compartilhar aqui o seu código pra gente te ajudar a procurar qual é o problema.
Basta utilizar a ferramente do editor </> e colocar o código entre as crases.
Olá Guilherme, eu tive o mesmo problema! segue o meu codigo abaixo!
<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 = sorteiaPosicao(600);
var yAleatorio = sorteiaPosicao(400);
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();
var xAleatorio = sorteiaPosicao(600);
var yAleatorio = sorteiaPosicao(400);
desenhaAlvo(xAleatorio, yAleatorio);
}
setInterval (AtualizaTela, 2000);
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>