Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

Como evitar que a bolinha trave atrás da raquete (solução)

Duvido muito que esta seja a solução perfeita, pois o ideal seria descobrir uma maneira de fazer com que o problema não ocorresse. No entanto encontrei uma forma de fazer o próprio código resolver o problema quando a bolinha passa para trás da raquete e fica batendo na borda, o que além de ser muito chato também trava o jogo. Minha solução foi criar uma função que vou postar logo abaixo, mas antes quero descrever que só cheguei nesta solução porque primeira usei a função para testar se de fato o eixo X da bolinha ultrapassava a borda quando isso acontece. Para saber se era fato ou só aparência eu primeiro fiz a função somente até o console.log, e se você fizer desta forma pode testar se de fato está acontecendo o mesmo problema. Vamos ao código:

function bolinhaNaoFicaPresa(){
    if (xBolinha + raio < 0){
    console.log('bolinha ficou presa');
    xBolinha = 300;
    }
}

O valor 300 atribuído à variável é apenas o meio da tela, que possui 600 pixels de comprimento. Quando rodo o código agora sempre que ocorre esta falha o jogo lança a bolinha novamente no meio da tela, sem travar, e exibe uma mensagem no console para avisar que o problema ocorreu.

OBS.: Lembre-se que esta função precisa ser chamada dentro da função draw.

1 resposta
solução!

Fala, Roger!

Realmente é uma excelente solução!

Somado ao da raquete não passar da borda, essas suas duas soluções foram fantásticas!

Isso só enriquece ainda mais o fórum e quem passar por aqui!

Valeu!

Um grande abraço e até mais!!!

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software