1
resposta

[Bug] Projeto Pong finalizado, porém com dois bugs.

BUG.1 - Mesmo com as raquetes bem próximas da borda a bolinha às vezes se prende à minha raquete por algum tempo marcando vários pontos para o oponente de uma só vez. BUG.2 - Me parece que às vezes o jogo não pontua.

Tentei algumas soluções, mas não resolveu definitivamente, e infelizmente acabei ficando mais perdido.

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

1 resposta

Oi, Gabriel, tudo bem?

Vamos abordar os dois bugs separadamente.

Bug 1:

É possível fazer algumas alterações no código referente à pontuação:

Captura de telo colorida do programa Scratch mostrando dois blocos de código. No conjunto de blocos da esquerda os dizeres de cima para baixo são: quando bandeira verde for clicado, sempre, espere até que posição x < -229, toque o som ponto, espere 0.5 seg, se posição x < -229 então adicione 15 a x , senão, adicione 1 a pontos do oponente. No conjunto de blocos da direita os dizeres de cima para baixo são: quando bandeira verde for clicado, sempre, espere até que posição x > 229, toque o som ponto, espere 0.5 seg, se posição x > 229 então adicione -15 a x , senão, adicione 1 a meus pontos.

Dessa forma, após as alterações, assim que a posição da bolinha exceder os limites impostos (-229 do lado esquerdo e 229 do lado direito), ou seja, assim que a bolinha bater na parede, o som de ponto será tocado imediatamente. Entretanto, após 0.5 segundos se a bolinha permanecer na mesma posição (o que simboliza que ela está presa), a bolinha será movida para outra posição, adicionando 15 ou -15 a sua posição x e libertando-a, mas se ela não estiver na mesma posição (ou seja, não está presa) contabilizará 1 ponto.

Recomendo que para evitar que a bolinha fique presa, você também mude as posições x para a raquete do jogador 1 e para a raquete do oponente colocando respectivamente os valores -230 e 230.

Captura de tela colorida do programa Scratch mostrando um conjunto de blocos empilhados. De cima para baixo, temos dois blocos:  o primeiro bloco é amarelo contendo a frase: “quando bandeira verde for clicado”, o segundo bloco é azul contendo a frase: “vá para x:-230  y:0”.

Captura de tela colorida do programa Scratch mostrando dois conjuntos de blocos empilhados. No conjunto de blocos da parte superior da imagem, de cima para baixo temos dois blocos:  o primeiro bloco é amarelo e tem a frase: “quando bandeira verde for clicado”, o segundo bloco é azul e tem a frase: “vá para x:230  y:0”. No conjunto de blocos da parte inferior, de cima para baixo, temos três blocos: o primeiro bloco é amarelo e tem a frase: “quando bandeira verde for clicado”, o segundo bloco é laranja e tem a palavra : “sempre”, o terceiro bloco é azul e tem a frase: “deslize por 0 segs. até x:230 y: posição y da bolinha”.

Bug 2:

Com relação à pontuação, você pode alterar o valor para -227 para marcar os pontos do oponente e 227 para marcar seus pontos. Lembre-se que colocamos um tempo de meio segundo para que a pontuação seja contabilizada, e por isso ocorrera´um delay na marcação de pontos devido o uso de blocos para evitar que a bolinha fique presa na raquete.

Espero ter ajudado! Qualquer dúvida é só comunicar, ficarei super feliz em poder ajudar!

Um forte abraço e bons estudos!

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