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

Como programar uma condição para evitar contagem de pontos indevidos quando a bolinha fica presa atrás da raquete?

Tentei criar uma solução para evitar que em situações nas quais a bolinha fica presa atrás da raquete sejam contabilizados vários pontos, uma forma de filtro, mas não consegui. Gostaria de saber uma possível solução.

1 resposta
solução!

Oi, Gabriel! Tudo bem?

Para solucionarmos esse problema devemos adicionar alguns comandos ao código responsável pela pontuação, deixando-o da seguinte maneira, 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 ✓