2
respostas

Finalizei meu projeto e coloquei um desafio extra, porém estou com um problema!

Ótimo material para aprendizado!

Finalizei a aula e melhorou bastante a minha lógica, no entanto, acontece um bug chato do actor bolinha se "fundir" com os demais actors, alguém sabe como resolver?

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

2 respostas

Oi Marcus, tudo bem?

Pedimos desculpa pela resposta tardia,

Ficamos felizes em saber que a aula está gerando frutos, é sempre bom exercitarmos nosso raciocínio e vejo que implementou muito bem os conhecimento que adquiriu aqui parabéns!

Quanto ao bug nos atores temos algumas soluções:

  • No ator bolinha, remova o bloco “aponte para a direção * (-1)”. Para acrescentarmos outros blocos, essa é uma das formas de resolver o bug da pontuação infinita e do travamento da bolinha.

Captura de imagem do jogo Pong no Scratch mostrando o bloco aponte para a direção vezes menos abre parênteses menos um fecha parênteses sendo retirado. O aponte para direção direção vezes menos um está destacado em vermelho

  • Remova também o bloco verde com o operador “ou” e substitua pelo bloco “tocando em raquete 2”.

Captura de imagem do jogo Pong no Scratch mostrando, quando a bandeira verde que inicia o jogo for clicada, sempre, se tocando em raquete 2 então, volte. O bloco, se tocando em Raquete2 ? então, está destacado em vermelho

  • Acrescente o bloco “aponte para a direção”, o bloco “número aleatório entre” e coloque os números -30 e -125. Essa opção terá um resultado semelhante ao do professor quando ele coloca o bloco direção * -1, a diferença é que, a bolinha a partir de agora voltará para uma direção aleatória resolvendo o bug da pontuação duplicada e da bolinha ficar presa na raquete.

Captura de imagem do jogo Pong no Scratch mostrando quando a bandeira verde que inicia o jogo for clicada, sempre, se tocando em raquete 2 então, acrescente aponte para a direção e número aleatório entre -30 e -125, este bloco está destacado em vermelho

  • Repita no código da Raquete, alterando os ângulos para 30 e 125.

Captura de imagem do jogo Pong no Scratch mostrando quando a bandeira verde que inicia o jogo for clicada, sempre, tocando em raquete2 então, aponte para a direção, número aleatório entre -30 e -125, toque o som acertar bolinha, se, tocando em raquete então, aponte para direção, número aleatório entre 30 e 125, toque o sim acertar bolinha, volte. O segundo bloco está destacado em vermelho.

Continuação na resposta abaixo (1/2)

Continuação (2/2)

Raquetes:

Podemos tomar algumas medidas mais focada nas raquetes :

  • Colocar a raquete contra a parede para não ter chance de passar para atrás dela;
  • Modificar o código de colisão fazendo com que ao tocar na raquete a posição x da bolinha vá para frente da raquete e mude de direção:

Captura de tela retirada do scratch, na imagem há um código que diz que quando a bandeira for clicada sempre que a bolinha estiver tocando em minha raquete então mude a posição horizontal da bolinha para menos duzentos e quinze e aponte para a direção inversa menos um e toque o som de raquetada. A outra parte do código se refere ao mesmo modelo só que tocando na raquete do oponente ela mudará a posição horizontal da bolinha para duzentos e quinze positivo.


Barra Central:

Aplicando o que foi comentado adicionei mais uma barra central que ficaria colada ao lado da outra e serviria como complemento a ela:

  • Primeiro, centralizei os ator para que ele não tivesse conflito:

Captura de tela do scratch, em um fundo transparente com um retângulo deitado e o símbolo de um alvo no centro dele

  • Dupliquei o ator, botão direito do mouse em cima dele e depois duplicar:

Captura de tela do scratch onde tem um quadrado maior na direita em cima, este é dividido por 3 linhas, respectivamente duplicar, exportar e apagar, sendo que a primeira está marcada em azul.

  • Modifiquei o código da bolinha:

Captura de tela de um código do scratch, no código está descrito que quando a bandeira for clicada sempre se estiver tocando na  barra central ou na duplicata dela a bolinha será apontada para a direção contrária

  • Modifiquei os códigos das barras centrais para que fiquem lado a lado, a original e a cópia respectivamente:

Captura de tela de dois códigos semelhantes do scratch, os dois dizem que quando a bandeira for clicada deverá ir para uma determinada posição horizontal e uma posição vertical de cinquenta depois deverá apontar para a direção zero. O primeiro código diz que a posição horizontal deve ser dois e o segundo diz que deve ser um


Prontinho! O seu código nesse ponto deve estar funcionando como deseja, espero ter ajudado!

Se precisar de ajuda com qualquer dúvida ou problema fico à disposição, conte com a gente!

Um bom dia para você e bons estudos.

Caso este post tenha lhe ajudado, por favor, marcar como solucionado! ✓.