1
resposta

Bolinha grudada na raquete oponente

Olá, bom dia!

Eu realizei o projeto de acordo com a aula, porém em algum momento a bolinha fica grudada na raquete do oponente gerando travamento, sendo necessário parar e iniciar o jogo novamente. Retirei o contorno da bolinha, alterei o tamanho da raquete e mesmo assim continua com esse bug.

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

1 resposta

Olá Beatriz, como vai?

Esse bug é bem comum de acontecer no Scratch mesmo, mas podemos fazer algumas alterações no código pra melhorar e minimizar as ocorrências, vou te mostrar.

1 - Ajuste no formato da bolinha

Pra funcionar mais corretamente no jogo a bolinha precisa ser completamente redonda e a do seu projeto ficou um pouco oval, por isso pode estar dando alguns erros. Pra resolver isso vamos precisar excluir a que está lá e criar uma nova seguindo os passos abaixo:

  • Primeiro selecione o ator Bolinha, vá na aba Fantasias, selecione o desenho da bolinha e depois clique em Apagar.

Indicação dos passos de exclusão da bolinha

  • Para criar uma nova bolinha é só clicar no ícone de círculo e para que ela fique no formato redondo é só ficar apertando a tecla shift do teclado ao mesmo tempo que desenha, e pronto, já temos a bolinha com formato corrigido.

indicação do ícone de círculo na área de desenho do scratch

2 - Ajustando a posição para computar pontos

Como alteramos o formato da bolinha vamos precisar ajustar também a posição de x em que serão computados os pontos. Fiz um teste aqui e posicionei com os valores -226 para os pontos do oponente e 226 para os meus pontos e o código ficou assim:

posição de x para contagem de pontos

Para descobrir quais valores ficam melhores no seu jogo você precisa ir testando, vai arrastando a bolinha pra perto da raquete e verificando os valores de x e em qual deles seu jogo funciona melhor. Esses valores de -226 e 226 eu coloquei como exemplo, se você quiser pode alterar e personalizar como preferir, beleza?

3 - Melhorando a contagem de pontos

Bom, com essas alterações que fizemos vai minimizar bastante a chance de bugs, mas ainda pode acontecer de a bolinha passar por trás da raquete e com isso acabar computando vários pontos de uma vez. Para resolver isso podemos adicionar um código nos blocos de pontuação com o controle espere 1 seg, isso fará com que toda vez que for computado um ponto demore mais um segundo para computar o próximo, acabando com esse problema da pontuação múltipla. Ficaria assim:

Inclusão de temporizador na pontuação

Seu projeto está muito bacana e essas são algumas alterações que você pode fazer pra deixar ele ainda mais legal. Testa aí e depois me conta o que você achou.

Espero ter ajudado e se tiver alguma dúvida fique a vontade pra retornar aqui no fórum. Bons estudos! =)