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

Dúvida no Ex. 1 da Aula 5 - Desafio Final

Consegui finalizar o exercício, porém estou em dúvida de como interpretar o seguinte trecho do código.

if((x > alvoX - raio) && (x < alvoX + raio) && 
        (y > alvoY - raio) && (y < alvoY + raio)) {
            alert("acertou!");
    };
4 respostas

Olá, Octávio. acho que esse trecho pode ser traduzido para isto aqui:

if(x > alvoX - raio){
    if(x < alvoX + raio){
        if(y > alvoY - raio){
            if(y < alvoY + raio){
                alert("acertou!");
            }
        }
    }
}

Obrigado pela resposta. Então, na verdade eu me expressei mal. Oq eu não entendi é como esse trecho de código faz com que a mensagem correta seja exibida? Como esses parâmetros retornam o resultado correto? No meu código por exemplo eu tinha feito esse trecho da seguinte maneira :

if(x == alvoX && y == alvoY){
    alert("acertou!");
};

E não funcionou...então é isso...a minha duvida é pq funciona?

solução!

Consegui encontrar a resposta. Obrigado pela ajuda.

Assim não está certo também ? onde X e Y são as coordenadas do alvo; e TiroX e TiroY são as coordenadas do click.

diferencaXAlvo = Math.abs(tiroX - x);
diferencaYAlvo = Math.abs(tiroY - y);

if (diferencaYAlvo <= raio && diferencaXAlvo <= raio){
            alert("acertou o alvo !!");
}