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

[Bug] Pontos são computados a mais quando toca na borda

Quando a bolinha toca no meio do plano os pontos são computados normalmente mas quando toca nas bordas são computados mais de 1 ponto, além também que em alguns lugares os pontos também são computados a mais. https://scratch.mit.edu/projects/782570561

1 resposta
solução!

Oi, Grazieli! Tudo bem?

Para resolvermos o nosso problema podemos incrementar um pouco o nosso código responsável pela pontuação, deixando-o da seguinte forma:

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 -228, espere 0.5 segundos, se posição x menor que -228, 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 228, espere 0.5 segundos, se posição x maior que 228, 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 -228 ou maior que 228), o programa esperará 0.5 segundos e irá conferir se a bolinha mudou de posição antes de pontuar.

Definimos então um tempo para analise da posição da bolinha. Dessa forma, o código, então, apenas irá adicionar 1 ponto quando a bolinha sair daquela localização e após o intervalo de 0.5 segundos, evitando possíveis bugs de pontuação.

Caso a posição da bolinha continue menor que -228 ou maior que 228, após os 0.5 segundos, 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 ✓