Projeto concluido porem ocorrem alguns Bugs...
1 A bolinha as vezes trava na raquete e gera vários pontos. 2 As vezes a bolinha não marca ponto 3 As vezes a bolinha não emite o som https://scratch.mit.edu/projects/768615015/
Projeto concluido porem ocorrem alguns Bugs...
1 A bolinha as vezes trava na raquete e gera vários pontos. 2 As vezes a bolinha não marca ponto 3 As vezes a bolinha não emite o som https://scratch.mit.edu/projects/768615015/
Olá, Vagner, tudo bem?
Que bom que você buscou aperfeiçoar seu código, parabéns, é exatamente isso que vai te fazer crescer como programador!
Vamos falar dos três problemas que você citou:
Para essa situação, uma das possibilidades é de que sempre quando for computado o gol, a bolinha voltar ao centro, isso evita que a bolinha fique entre a raquete gerando vários pontos.
Neste caso, basta que você coloque uma linha que desloca o x da bola para o meio do campo sempre que for gol, tipo assim:
Adicionamos o set x to 0
sempre que for gol!
Você já percebeu que isso só acontece logo depois da bolinha ficar presa na frente da raquete? E que ela só fica presa bate exatamente na quina da raquete?
Isso acontece, pois no mundo ideal o nosso if
das verificações só acontece uma vez por raquetada. Mas entrando bem na quina a bola consegue ficar em um espaço bem pequeno onde ela ativa esse if
várias vezes, fazendo aquele zig-zag e aquele barulho chato.
Além de, aparentemente, bugar a colisão do Scratch impedindo a gente de computar os pontos e fazer o som da bolinha.
Podemos resolver isso dando um “empurrão” quase imperceptível na bola sempre que ocorrer a raquetada?
Segue o código abaixo:
Primeiro eu separei a verificação do toque para cada raquete, depois fiz com que a bola (depois de mudar de direção) fosse para uma posição logo a frente da raquete, evitando assim que a colisão aconteça várias vezes por raquetada!
Teoricamente, resolvendo o segundo problema, esse também é resolvido!
Espero ter te ajudado.
Reforço que estou à disposição para tirar dúvidas.
Abraços.