1
resposta

Bug no game PONG no Scratch

Boa noite pessoal,

Através de uma aula aqui na Alura eu fiz minha própria versão do Pong na plataforma Scratch, porém há um bug não previsto na aula. Quando a raquete toca a bola com uma de suas pontas, a bolinha meio que fica presa entre a raquete e a borda, o que gera um acumulo de pontos pelo jogador oponente.

Vou deixar um link para o meu jogo, para testarem caso tenham dúvida:

https://scratch.mit.edu/projects/769130636/

Preciso saber como corrigir esse bug.

1 resposta

Oi, Karina! Tudo bem?

Para resolvermos os nossos bugs devemos fazer algumas alterações na parte do nosso código responsável pela pontuação, deixando-a como é apresentado na imagem abaixo:

Captura de tela do Scratch, em que há um fundo branco e 2 blocos de código com comandos coloridos, um ao lado do outro, de forma que, ao lado esquerdo se encontra um bloco de código com os seguintes comandos, seguindo a ordem de cima para baixo: quando bandeira verde for clicada, sempre, espere até que posição x seja menor que -226, espere 0.5 segundos, toque o som Ponto, se posição x menor que -226, adicione 10 a x, senão, adicione 1 a Pontos do oponente. Ao lado direito se encontra um bloco de código com os seguintes comandos, seguindo a ordem de cima para baixo: quando bandeira verde for clicada, sempre, espere até que posição x seja maior que 226, espere 0.5 segundos,  toque o som Ponto, se posição x maior que 226, adicione -10 a x, senão, adicione 1 a Meus Pontos.

Inicialmente, é importante pontuar que devemos alterar os parâmetros da posição x para um valor menor para conseguirmos pontuar. Nesse caso, alteraremos o valor de 229 e -229 para 226 e -226.

As alterações consistem na seguinte lógica: sempre que a bolinha tocar a parede (quando a posição x da bolinha for menor que -226 ou maior que 226) o programa tocará o som de ponto normalmente, entretanto, esperará 0.5 segundos e irá conferir se a bolinha está presa ou não, para pontuar.

Caso a posição da bolinha continue menor que -226 ou maior que 226, isso significa que a bolinha está presa, então, será adicionado um valor a posição x para libertá-la. Caso não, adiciona-se 1 ponto normalmente.

Espero ter ajudado! Qualquer dúvida basta comunicar!

Um forte abraço e bons estudos!

Caso este post tenha te ajudado, por favor, marcar como solucionado ✓