1
resposta

[Bug] Conectivo "&&"

No meu código do p5, quando uso o conectivo "&&", o código não reconhece, quando utilizo somente um "&", o código funciona, perfeitamente, não sei se é atualização da linguagem do código ou somente um simples bug. Fica a dica para os próximos alunos!

1 resposta

Oi, Matheus! Tudo bem?

O p5.js possui em sua página exemplos de funcionalidades e aplicações para os usuários internalizarem melhor como utilizar o ambiente de codificação.

Segundo as próprias referências fornecidas pelo p5 o uso correto/indicado seria do conectivo “&&”, como você pode conferir no link abaixo:

exemplos | p5.js

Mas sabemos que && é um operador lógico, geralmente utilizado em operações condicionais, enquanto & tem uma funcionalidade um pouco diferente pois trabalha sobre uma comparação bit a bit.

Uma comparação bit a bit funciona por meio da comparação apenas entre operadores booleanos (0 ou 1, true ou false).

No caso de um código como o abaixo:

function verificaColisaoRaquete(){
  if (xBolinha - raio < xRaquete + raqueteComprimento 
  && yBolinha - raio < yRaquete + raqueteAltura 
  && yBolinha + raio > yRaquete){
    velocidadeXBolinha *= -1;
  }
}

Muito provavelmente as comparações com os operadores > e < retornaram true ou false, tornando possível o uso de & nesse caso. Entretanto se colocarmos o conectivo & entre dois números inteiros, por exemplo, como 10 ou 12 (≠ 0 ou 1), o comando para essa aplicação não funcionaria, retornaria 8, pois iria relacionar os números binários correspondentes a 10 e 12.

Valeu por compartilhar o que ocorreu com a gente!

Para que eu consiga entender ainda mais o seu problema e te dar uma justificativa um pouquinho melhor, você poderia me mandar o seu código e me contar qual navegador você está utilizando?

Um forte abraço e bons estudos!

Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓. Bons Estudos!