2
respostas

[Dúvida] Parece ser possível diminuir o tamanho do código.

Eu entendi a lógica do código (apesar de que na minha cabeça faz sentido ser alturaRaquete /2), mas não entendi porque a gente subtrai o yRaqueteOponente da fórmula da velocidadeYOponente e depois soma: vou tentar explicar minha dúvida pela fórmula:

velocidadeYOponente = yBolinha - yRaqueteOponente - raqueteComprimento / 2 - 30;
yRaqueteOponente += velocidadeYOponente -----> yRaqueteOponente = yRaqueteOponente +yBolinha -yRaqueteOponente - (...)

Eu não poderia só escrever

 velocidadeYOponente = yBolinha - raqueteComprimento / 2 - 30;
yRaqueteOponente = velocidadeYOponente 

?

2 respostas

A razão pela qual subtrai-se yRaqueteOponente da fórmula da velocidadeYOponente é para levar em conta a posição atual da raquete do oponente em relação à bolinha. A subtração é necessária porque a posição da raquete é adicionada à fórmula da posição da bolinha, já que estamos interessados em calcular a distância entre a bolinha e a raquete.

complementando a resposta do Rian souza, ele respondeu a primeira parte vou tentar responder a segunda.

se vc colocar apenas a (yRaqueteOponente = velocidadeYOponente) fica faltando o sinal de + antes do = o que faz com que vc esteja apenas atribuindo o valor final e não fazendo um incremento do valor atual mais o valor da velocidade oque faz ela se mexer, se fizer como falou acima ela vai dar um "teleport" para o valor da velocidade e ficar parado (pelo menos é o que minha cabeça acha que pode acontecer kkkk).