Olá.
Não está faltando {
e }
para o alert("Acertou!");
do seu if
? Ele é obrigatório mesmo que tenha só uma cláusula dentro do if.
Não entendi Jorge Torres Coelho
Manuel, observe as chaves entre o comando alert
:
if((x > xAleatorio - raio) && (x < xAleatorio + raio) && (y > yAleatorio - raio) && (y < yAleatorio + raio))
{
alert("Acertou!");
}
}
O comando if
tem a seguinte estrutura:
if( <condicao> ) {
<comando1>;
<comando2>;
<...>
}
Portanto, faltou o abre e fecha chaves do IF. No seu caso, só existe um comando (o <comando1>
).
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;
Agora esta a m dar erro no if
Como não estou acompanhando esta aula, você está usando algum debugador on-line para facilitar a explicação (ou ao menos o entendimento)?
Qual a mensagem de erro?
Olhando só a função dispara()
, a menos que as variáveis xAleatorio
, yAleatorio
, raio
sejam globais, vai dar erro. Exiba os valores de cada variável com os alert
. Se der erro é por isso que deu pau no if
.
Também você fez uma chamada à função dispara
:
tela.onclick = dispara;
Mas não informou o parâmetro dela.
Você definiu a função dispara
como
dispara(evento)
Qual seria o valor de evento
no caso?