3
respostas

Pong no Scratch feito mas com um problema

Olá gente,

fiz o Pong no Scratch, conforme indicado na aula, mas o programa ficou com um problema.

Muitas vezes, a bolinha bate na porda esquerda, mas os pontos do oponente não são computados no placar.

Como eu posso resolver isso?

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

3 respostas

Olá Ana Luiza, como vai?

Seu jogo ficou super legal, parabéns pelo projeto! Esse bug que está ocorrendo é bem comum de acontecer no Scratch, vou te mostrar como resolver:

1 - Ajuste do formato da bolinha

Pra funcionar mais corretamente no jogo a bolinha precisa ser completamente redonda e a do seu projeto ficou um pouco oval, e isso pode impactar no funcionamento do seu jogo e estar ajudando a gerar esse bug. 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 de como apagar a 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 de como desenhar a bolinha

2 - Ajustando a centralização dos atores

No Scratch quando vamos criar um ator é preciso que ele seja criado exatamente centralizado na tela de desenho e que o centro dos dois (ator e tela de desenho) estejam exatamente um no mesmo lugar que o outro. Esses bugs podem ocorrer caso os atores (bolinha e raquetes) sejam desenhados fora do centro.

  • Vá em Bolinha, depois em Fantasias, clique na sua bolinha e arraste ela para o centro da área de desenho até que os dois +, da bolinha e da área de desenho, se encontrem. Se o centro da área de desenho não estiver aparecendo você pode ir na lupa na parte inferior da área e diminuir o zoom até visualizar.

Indicação de como centralizar a bolinha na tela de desenho

Repita esse processo em todos os atores (bolinha e raquetes), eles passarão a ter como referência o centro da tela de desenho e você vai conseguir controlar melhor a posição com o x e o y e não terá mais o problema que estava acontecendo.

3 - Ajustando o posicionamento das raquetes

Depois de centralizar você vai perceber que as raquetes foram pra direções totalmente estranhas, para corrigir isso vamos alterar os valores de x e y nos códigos das raquetes:

  • Raquete 1

Aqui vamos colocar x valendo -233 e y valendo 0, ficaria assim:

Indicação do valor de x da raquete em -233

  • Raquete 2

Aqui vamos passar os valores de x valendo233 e y valendo 0. Na raquete 2 é importante alterar o valor de x nos dois blocos de código, ficaria assim:

Indicação do valor de x da raquete em 233

4 - Ajustando a pontuação

Depois de fazer essas alterações você vai perceber que seu jogo está contando vários pontos em disparado, isso aconteceu porque quando alteramos o posicionamento dos atores e formato da bolinha, precisamos ajustar também o sensor do contador de pontos. Aqui vamos fazer dois ajustes:

  • No contador de pontos vamos alterar os valores de x para -229 para os pontos do oponente e o valor de x para 229 para meus pontos. Esses valores eu identifiquei testando no seu jogo e funcionaram legal, mas você pode testar arrastando a bolinha para perto da borda e ir trocando os valores no código da maneira que achar que funciona melhor, beleza?

  • Outra alteração que vamos fazer aqui é que, mesmo com as modificações acima, a bolinha ainda pode passar por trás da raquete e com isso computar vários pontos de uma vez, para solucionar isso vamos inserir o controle espere 1 seg nos blocos de contador de pontos, isso fará com que o jogo sempre espere um segundo antes de contar um novo ponto, solucionando o problema.

O código ficaria assim:

Indicação das alterações feitas nos blocos de código de pontuação

Pronto! Fazendo essas alterações vai resolver os bugs e seu jogo vai funcionar conforme o esperado ficando ainda mais legal. Testa aí e depois me conta se funcionou.

Espero ter ajudado e se tiver alguma dúvida conte com a gente aqui no fórum. Bons estudos! =D

 

Caso esta resposta tenha resolvido sua dúvida, por favor, marque o tópico como solucionado ✓.Bons Estudos!

Oi Jeniffer, tudo bem?

Muito obrigado, suas dicas ajudaram muito.

Mas ainda tá acontecendo um problema. Algumas vez a bolinha entra atrás das raquetes e fica pulando lá por um tempinho, mesmo sem marcar pontos.

Alguma ideia de como resolver isso?

Oi Ana!

Fico feliz demais que as dicas te ajudaram!

Essa situação da bolinha passar por trás da raquete tem a ver com a questão de proporção entre a bolinha e as raquetes e para solucioná-lo você pode fazer os ajustes abaixo:

  • Aumentar o tamanho da bolinha;
  • Chegar as raquetes mais pra perto da borda.

Fazendo essas alterações você consegue corrigir esse problema. Não tem um tamanho ou posição padrão pois cada jogo é desenhado de uma maneira, então aqui é ideal que você vá fazendo alterações e testando para verificar o momento que funcionará melhor no seu projeto, beleza?

Qualquer dúvida é só chamar por aqui. Bons estudos! =D