estarei enviando uma cópia do link do pong para que vcs me ajudem se estiver algum erro,agradeço
estarei enviando uma cópia do link do pong para que vcs me ajudem se estiver algum erro,agradeço
Oi Marcelo! Tudo bem por aí?
Os pontos não estão contabilizando pois algumas condições estão faltando na sua função de colisão da bolinha com a raquete. Sua função está assim:
function verificarColisaoRB(){
if (xBolinha - raio < xRaquete + raqcomprimento){
velocidadexbolinha *= -1;
}
}
E isso deixa de levar em consideração o tamanho da raquete. É como se toda a abrangência do espaço da raquete no eixo y fosse considerado, e então a bolinha nunca colide com a borda do canvas (que é o que marca um ponto).
Perceba que a colisão com a raquete do oponente também não ocorre. A bolinha a ultrapassa.
Para resolver, adicione algumas condições na função verificarColisaoRB
:
function verificarColisaoRB(){
if (xBolinha - raio < xRaquete + raqcomprimento
&& yBolinha - raio < yRaquete + raqlargura
&& yBolinha + raio > yRaquete) {
velocidadexbolinha *= -1;
}
}
Na função da colisão com a raquete do oponente, faça as seguintes alterações:
function verificarcolisaoop(){
if (xBolinha + diametro > xRaqueteop + raqcomprimento
&& yBolinha - raio < yRaquete + raqlargura
&& yBolinha + raio > yRaquete){
velocidadexbolinha *= -1;
}
}
Agora as duas colisões estão acontecendo como esperado!
O oponente não vai mais marcar pontos, pois ele nunca erra. Isso será resolvido nessa aula aqui:
Espero ter ajudado, Marcelo! Estou a disposição.
Forte abraço.