1
resposta

Colisão das Raquetes: Solução alternativa

Em aula, o professor nos ensina sobre a possibilidade para que apenas uma função verifique a colisão nas duas raquetes, pedindo um x e um y e chamando a função uma vez para cada raquete. Eu experimentei fazer a função de maneira que só precise ser chamada uma vez e até o presente momento funcionou. Gostaria que alguém pudesse revisar pra eu ter certeza de que escrevendo dessa maneira não irá resultar em algum bug futuramente.

function colisaoRaquete() {
  acertou =
    collideRectCircle(xRaqueteP, yRaqueteP, wRaquete, hRaquete, xBola, yBola, rBola) ||
    collideRectCircle(xRaqueteO, yRaqueteO, wRaquete, hRaquete, xBola, yBola, rBola)
  if (acertou) {
    vXBola *= -1;
  }
}

Desde já agradeço a quem vir a este tópico para responder.

1 resposta

Oi, dev! Tudo certo por aí?

Antes de tudo, agradeço a paciência em aguardar uma resposta!

Muita bacana a sua solução. Elaborar novos caminhos para o mesmo fim é uma maneira de estimularmos a nossa criatividade e o nosso raciocínio!

Embora o seu código não leve à aparição de problemas futuros, deve-se ter em mente que o uso de parâmetros em funções, tal como fizemos com x e y, é algo muito importante para torná-las genéricas.

O objetivo de uso de uma função é evitar repetição desnecessária de códigos, bem como tornar o nosso programa mais amplo e menos centralizado. Com isso, melhoramos a manutenção e a visualização de projetos.

Em algumas situações, seguir essa perspectiva (utilização de parâmetros) em funções auxilia na padronização do nosso código, fazendo com que ele siga as convenções propostas pela comunidade desenvolvedora!

Fico à disposição para te ajudar caso apareçam dúvidas ao longo da sua jornada de estudos!

Grande abraço!