1
resposta

[Dúvida] Fórmula Alternativa para a movimentação do oponente.

Antes de tudo, importante levar em consideração que não utilizei o nome sugerido pelo professor para todas as variáveis.

Para a velocidade Y do oponente eu utilizei: movimentoOponente Além disso, ao invés de RaqueteComprimento, utilizei alturaRaquete

Não consegui compreender de nenhuma forma a lógica aplicada pelo professor para construção da função:

function movimentaRaqueteOponente() {
velocidadeYOponente = yBolinha - yRaqueteOponente - raqueteComprimento / 2 - 30;
yRaqueteOponente += velocidadeYOponente;
}

Por isso, utilizei do que fazia sentido para mim, e apliquei o seguinte:

function movimentaOponente(){
  movimentoOponente = yBolinha - alturaRaquete / 2 + 30;
  yOponenteRaquete = movimentoOponente;
  yOponenteRaquete = constrain(yOponenteRaquete, 0, 310);

}

Aparentemente, as implicações foram as mesmas - alcancei os mesmos resultados, entretanto eu gostaria de saber se é uma prática correta, ou se o meu raciocínio poderia acabar implicando em um erro de programação futuro.

1 resposta

Olá, Pedro!

Entendo que você tenha tido dificuldades em entender a função original e criou sua própria versão. Isso é ótimo e mostra que você está pensando de forma independente!

Sua abordagem é válida e não deve causar problemas futuros. Apenas lembre-se que, dependendo do contexto, pode ser mais útil adicionar a velocidade à posição atual (como na função original), ao invés de definir a posição diretamente. Isso permite, por exemplo, que a velocidade seja variável, o que pode ser útil em jogos mais complexos.

Espero ter ajudado, caso precise de ajuda fico à disposição.

Abraços e bons estudos!