Black November

ATÉ 50% OFF

TÁ ACABANDO!

0 dias

0 horas

0 min

0 seg

1
resposta

[Sugestão] Solução para bolinha presa atrás da raquete

Primeiro havia pensado em retornar a bolinha para o centro do background quando encostasse nas bordas. Utilizei esse código para a interação. function evitaPrenderBolinha(){ if(xBolinha - raio < 0){ xBolinha = 300 } if(xBolinha + raio > 600){ xBolinha = 300 } }

Porém a fluidez do jogo fica estranha e mais fácil do oponente errar. Então decidi tentar retornar a bolinha para uma posição logo depois da raquete. Melhorando a fluidez utilizando o mesmo código.

function evitaPrenderBolinha(){
  if(xBolinha - raio < 0){
xBolinha = 20
  }
  if(xBolinha + raio > 600){
    xBolinha = 580
  }
    }

Matricule-se agora e aproveite até 50% OFF

O maior desconto do ano para você evoluir com a maior escola de tecnologia

QUERO APROVEITAR
1 resposta

Oiê Guilherme, tudo bem?

Excelente sugestão! A bolinha pode prender-se atrás da raquete por vários motivos, necessitando alterações (na maioria da vezes, diferentes) no código para resolver.

Parabéns por estar praticando os exercícios e testando novos caminhos para resolver e evitar problemas!

Se me permite, quero fazer uma sugestão para que o seu código fique clean, com uma legibilidade boa e, por vezes, evite alguns bugs. Sempre escreva o ; ao finalizar a linha de código.

function evitaPrenderBolinha(){

  if(xBolinha - raio < 0){
        xBolinha = 20;
  }

  if(xBolinha + raio > 600){
    xBolinha = 580;
      }
  }
function evitaPrenderBolinha(){ 

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

    if(xBolinha + raio > 600){
         xBolinha = 300; 
    } 
}

Essa e outras dicas você pode ler nesse artigo Clean Code, ele ajuda muito na hora de desenvolver um código.

Você pode compartilhar essa sugestão na nossa comunidade da Alura no Discord, caso sinta-se confortável, assim poderá ajudar outros colegas que tenha o mesmo problema.

Sempre que precisar estarei à disposição para ajudá-lo.

Bons estudos e a gente se vê!

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