1
resposta

[Sugestão] sugestão alternativa para evitar os bugs da bolinha presa na tela e ou raquete

O código completo pode ser acessado clicando aqui Caso acessar o código pelo link verá que deixei as variáveis abreviadas para uso técnico, porém as deixei de maneira didática neste tópico;

function BolinhaPresa(){
  //presa DENTRO da raquete
  if(esquerdaBolinha < frenteRaquete &&
     yBolinha > superiorRaquete      &&
     yBolinha < inferiorRaquete){
    xBolinha = frenteRaquete+raio;
    
  }else if (direitaBolinha > frenteRaqueteOponente     &&
            inferiorBolinha > superiorRaqueteOponente  &&
            superiorBolinha < inferiorRaqueteOponente){
    xBolinha = frenteRaqueteOponente-raio;
  }
  
  //presa na borda da tela (atrás das raquetes)
  if (esquerdaBolinha < 0){
    xBolinha = frenteRaquete+raio; 
    
  }else if (direitaBolinha > width){
    xBolinha = frenteRaqueteOponente-raio;
  }
}

Se preferir não criar as variáveis adicionais presentes no código acima, deixarei um anexo das substituições possíveis.

// substituições possíveis para as variáveis da bolinha
superiorBolinha  = yBolinha-raio;
inferiorBolinha  = yBolinha+raio;
direitaBolinha   = xBolinha+raio;
esquerdaBolinha  = xBolinha-raio;

//substituições possíveis das variáveis da raquete
superiorRaquete         = yRaquete;
inferiorRaquete         = yRaquete+comprimentoRaquete;
frenteRaquete           = xRaquete+larguraRaquete;
xCostasRaquete          = xRaquete; 
superiorRaqueteOponente = yRaqueteOponente;
inferiorRaqueteOponente = yRaqueteOponente+comprimentoRaquete;
frenteRaqueteOponente   = xRaqueteOponente;
xCostasRaqueteOponente  = xRaqueteOponente+larguraRaquete;

Aceito sugestões para aperfeiçoamento. : )

1 resposta

Oi Gabriel, tudo bem? Espero que sim!

Agradeço a atenção e compartilhar no fórum a solução para o problema da bolinha presa na raquete, assim você estará ajudando muitos alunos e alunas que podem ter o mesmo problema com o projeto. Continue se dedicando e colocando seu conhecimento em prática.

E caso surjam dúvidas, fico à disposição.

Abraços e bons estudos!