3
respostas

Bolinha Presa atrás da raquete

Mesmo depois de inserir a função pra bolinha não prender atrás da raquete, continua acontecendo normalmente, quando pega na borda da raquete, sempre acontece aquele travada;

https://editor.p5js.org/Maceddi/sketches/NQY6l36qy

Aconteceu o mesmo problema no scratch e foi me dada uma solução que resolveu o problema, caso a de cima não de certo, teria como realizar a mesma mudança aqui no p5.js?

https://cursos.alura.com.br/forum/topico-ola-varias-vezes-a-bolinha-trava-atras-da-raquete-266050 - essa foi a solução https://scratch.mit.edu/projects/787425595

3 respostas

Olá, Lucas, tudo bem?

Passei alguns minutos jogando o seu pong, e testei velocidades diferentes e infelizmente não vi esse comportamento da bolinha ficar presa atrás da raquete. O bug pode acontecer em momento raro, nesse caso temos que ficar bem atentos para capturar os padrões na hora que ele acontece, por exemplo, só acontece quando a bolinha colide com a parte superior da raquete oponente. Caso você tenha notado algum padrão de comportamento que o jogo dá antes de acontecer o bug, compartilhe conosco.

Notei que apesar de ter criado a variável chanceDeErrar =0, ela não está sendo usada. Acredito que você começou a implementar o código para solucionar o problema do oponente invencível, mas não chegou a concluir. Portanto, abaixo deixo o link com o código e possíveis soluções do aluno.

Espero ter ajudado.

Caso surjam dúvidas, estou à disposição.

Abraços e até mais!

O bug acontece sempre nesta situação, raquete subindo e bolinha descendo, aí a bolinha bate na lateralda raquete e percorre aquele caminho demonstrado na seta, ou ao contrário também, se a bolinha esta na parte de baixo, da lateral da raquete, com a bolinha subindo e a raquete descendo... Não consigo mandar o video aqui :(

Insira aqui a descrição dessa imagem para ajudar na acessibilidade

Olá, Lucas, tudo ok?

Depois de mais alguns minutinhos jogando o seu pong, consegui identificar o bug, ele acontece em situações bem específicas, quando a bolinha colide com a borda, faz a pontuação e ao tentar ir para a posição xBolinha= 23, ela colide com a borda de trás da raquete, ficando presa.

Para resolver esse problema, podemos fazer com que ao colidir com a borda, a bolinha vá para o centro do canvas. O código ficará assim:

function bolinhaNaoFicaPresa(){
    if (xBolinha - raio < 0){
    xBolinha = 300;
    }
}

Espero ter ajudado.

Reforço que caso surja dúvidas, estou à disposição.

Abraços e bons estudos.

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