1
resposta

[Dúvida] Bug de pontuação e movimentação

A bola as vezes fica presa entre a raquete e a parede e marca vários pontos de uma vez, como resolver?

1 resposta

Oi, Davi! Tudo bem?

Por características do próprio Scratch, devemos fazer algumas alterações no nosso código responsável pela pontuação para conseguirmos reverter esse bug, deixando-o como apresentado na imagem abaixo, por exemplo:

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, toque o som Coin, espere 0.5 segundos, se posição x menor que -226, adicione 10 a x, senão, adicione 1 a Pontos do Adversário. 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, toque o som Coin, espere 0.5 segundos, se posição x maior que 226, adicione -10 a x, senão, adicione 1 a Meus pontos.

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 som da pontuação será tocado normalmente, entretanto, o programa 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 ✓