Boa noite,
Meu ping pong não esta marcando a pontuação corretamente. Ele começa marcando a pontuação corretamente mas entre um ponto e outro, ele contabiliza 2 ou ate mais pontos de uma vez. Alguém poderia me ajudar?
Você está vendo a versão anterior da nova experiência da Alura que estamos preparando para você. Em breve, ela ganha uma identidade visual novinha totalmente pensada em potencializar seus estudos!
Boa noite,
Meu ping pong não esta marcando a pontuação corretamente. Ele começa marcando a pontuação corretamente mas entre um ponto e outro, ele contabiliza 2 ou ate mais pontos de uma vez. Alguém poderia me ajudar?
Olá, Jullian, tudo bem?
Essa pontuação a mais no seu jogo é devido à bolinha ficar presa na raquete. Para solucionar esse problema, uma das possibilidades é de que sempre quando for computado o gol, a bolinha voltar ao centro, isso evita que a bolinha fique entre a raquete gerando vários pontos.
Neste caso, basta que você adicione um bloco de movimento “mude x para 0”.
Como na imagem abaixo:
Coloquei a posição x igual a 0, que é o centro do canvas, mas você também pode deslocar a bolinha para uma posição x um pouco mais a frente da raquete.
Abaixo deixo o remix do seu código com as alterações.
Espero ter ajudado.
Fico à disposição caso surja dúvidas.
Abraços e bons estudos!
Eu vi o remix e de fato é uma boa sugestão. Mas eu vi no remix também que em alguns momentos ele deixa de, tanto contabilizar os pontos quanto de sair o som ao bater a bolinha na borda. Isso e um bug aleatório ou é algo que eu também posso corrigir na codificação?
Olá, Jullian, tudo ok?
Obrigada pelo retorno.
Excelente observação!
Note que o momento em que a bolinha não marca ponto, é quando ela bate exatamente na quina da raquete.
Isso acontece, pois no mundo ideal o nosso if das verificações só acontece uma vez por raquetada. Mas entrando bem na quina a bola consegue ficar em um espaço bem pequeno onde ela ativa esse if várias vezes, fazendo aquele zig-zag e aquele barulho chato.
Além de, aparentemente, bugar a colisão do Scratch impedindo a gente de computar os pontos e fazer o som da bolinha.
Podemos resolver isso dando um “empurrão” quase imperceptível na bola sempre que ocorrer a raquetada.
Segue o código abaixo:
Primeiro eu separei a verificação do toque para cada raquete, depois fiz com que a bola fosse para uma posição logo a frente da raquete, evitando assim que a colisão aconteça várias vezes por raquetada!
A solução acima também resolve o problema do som.
Além dessas alterações, coloquei a posição x da pontuação para -225 e 225. Para assim ficar mais assertivo. Como na imagem abaixo:
Espero ter ajudado.
Caso surja dúvidas, estou à disposição.
Abraços.
Boa tarde Monalisa,
Eu fiz os ajustes de acordo com o seu remix e deu certo. Obrigado pela ajuda!!!