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

Sugestão para o BUG da Bolinha + Nova Regra

Olá galera, tudo bom? Para resolver esse bug da bolinha presa atrás da raquete, eu fiz um código um pouco diferente, que segue a regra do Ping Pong real: quem marca um ponto faz o saque! Então, toda vez que um ponto é marcado, a posição da bolinha muda para um pouco à frente da raquete do pontuador.

function marcaPonto(){
  if(xBolinha > 590){
    pontosEsquerda++;
    ponto.play();
    //o saque é da pessoa que pontuou
    xBolinha = xRaqueteEsq+15;
    yBolinha = yRaqueteEsq+raqueteAltura/2;
  }
  if(xBolinha < 10){
    pontosDireita++;
    //o saque é da pessoa que pontuou
    xBolinha = xRaqueteDir-15;
    yBolinha = yRaqueteDir+raqueteAltura/2;
    ponto.play();
  }
}
1 resposta
solução!

Olá, Gustavo, tudo bom?

Que legal que você está pensando em soluções criativas para resolver os problemas! Esse é um caminho ótimo e que vai te fazer lidar com problemas reais de programação mais para frente de uma forma muito mais tranquila!

Testei seu código, e se entendi bem (me corrija se eu estiver errada), a bola movida para um pouco “na frente” de quem acabou de marcar o ponto para que ele consiga “sacar” da forma que quiser, não é?

Funciona muito bem!

Se você quiser, posso dar uma sugestão/desafio, pode ser?

Olhando algumas versões do Pong Clássico percebi que para que quem marcou ponto possa de fato “sacar” do jeito que ela quiser (e não apenas seguir a direção que a bola já estava indo) o jogo faz duas coisas:

1 - Coloca a bola ao centro, fazendo com que ela venha na direção de quem marcou o ponto.

2 - Diminui um pouco a velocidade da bola até o primeiro contato com a raquete, para dar tempo da pessoa pensar na raquetada. Após o primeiro contato a bola volta para velocidade original.

Espero ter ajudado.

Reforço que estou à disposição para tirar dúvidas.

Abraços.

Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓. Bons Estudos!