Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

[Dúvida] Duvida aula 03 passo 06 - importando código do GitHub

Fiquei com dúvida em relação ao significado da variável criada ao usar o código importado do GitHub na parte 06 da aula 03 do curso de lógica de programação:

se

let colidiu = false

então

function colisaoMinhaRaqueteBiblioteca(){
  colidiu =
  collideRectCircle(xRaquete, yRaquete, raqueteComprimento, raqueteAltura, xBolinha, yBolinha, raio);
  if (colidiu){
    velocidadeXBolinha *= -1;
  }

está dizendo que:

function colisaoMinhaRaqueteBiblioteca(){
  false =
  collideRectCircle(xRaquete, yRaquete, raqueteComprimento, raqueteAltura, xBolinha, yBolinha, raio);
  if (false){
    velocidadeXBolinha *= -1;
  }

certo?

qual a função do valor "false" aqui? Não foi explicado na aula o porquê o código copiado é como é, e talvez seja assunto para um momento mais avançado, mas fiquei intrigado.

entendi que postei a dúvida no fórum errado e já encontrei o lugar certo, favor desconsiderar (não encontro onde posso deletar a pergunta)

1 resposta
solução!

Oi, Erico! Tudo bem?

O que está ocorrendo é o seguinte: inicialmente, criamos uma variável chamada colidiu, que será inicializada recebendo o valor booleano "false", ou seja, esse "false" está sendo utilizado apenas para inicializar a variável. Não é uma necessidade na linguagem JavaScript iniciar uma variável com a atribuição de algum valor, entretanto, pode ter algumas vantagens, como evitar erros de referência indefinida, definir um valor padrão para uma variável, além de que atribuir um valor inicial explícito à variável pode tornar o nosso código mais claro e legível para outros desenvolvedores que possam ler seu código. Eles poderão entender facilmente qual é o valor esperado inicialmente e como a variável será usada posteriormente.

Dessa forma, a função colisaoMinhaRaqueteBiblioteca(), responsável por verificar se há a colisão entre a bolinha e a raquete usará, então, o método collideRectCircle da biblioteca p5.collide2d.js para isso. A função collideRectCircle irá conferir se houve ou não a colisão e retornará um valor "true" se sim e um valor "false" caso não. Esse valor retornado pela função collideRectCircle será atribuído à variável colidiu.

Ou seja, a variável colidiu está sendo utilizada para armazenar o resultado da verificação de colisão entre a raquete e a bolinha. Se houver colisão, a variável "colidiu" passa a ser "true" e o código dentro do if é executado, mudando a direção da bolinha.

Espero ter ajudado na compreensão do problema. Caso tenha ficado alguma dúvida, sinta-se à vontade em comunicar, estou à disposição!

Um forte abraço e bons estudos!

Caso este post tenha te ajudado, por favor, marcar como solucionado ✓