1
resposta

[Sugestão] Pong - Dificuldade e Bug Bola Travada

Olá pessoal!

Procurei no fórum para ver se havia algum post parecido com essa sugestão mas não encontrei, então vou deixar aqui a maneira que encontrei para fazer o ajuste de dificuldade e algumas modificações que fiz para deixar o jogo mais fluido e eliminando também o bug da bola travada. A ideia foi modificar o incremento de erro fixo indicado pelo tutor da aula por um erro errovOP absoluto e por um erroOP relativo que controlam a velocidade da raquete OP. A ideia é pegar resultados de valores aleatórios, em que em sua maioria, farão a máquina acertar, mas podem ocorrer de fazerem a máquina errar. Vale notar que esses valores foram testados para velocidade vxBola e vyBola = 6, e que a velocidade da bola impacta efetivamente na capacidade de ajuste, então se estiverem jogando com velocidades maiores ou menores, é preciso ajustar os valores entregues pela função calcularerroOP.

function movimentoRaqueteOP(){
  //Alteração feita para permitir uma variação de espaço da raquete OP mais natural e para permitir que o jogador faça pontos
  if (yRaqueteOP != yBola){ 
  calcularerroOP(); 
  velocidadeyRaqueteOP = yBola - yRaqueteOP - alturaRaquete / 2 - errovOP; 
  yRaqueteOP += velocidadeyRaqueteOP * erroOP;
  }
}

function calcularerroOP(){
  erroOP = random(0.12,0.15)
  errovOP = random(8,15)
}

Além disso, me inspirei em algumas sugestões que outros usuários enviaram e fiz um código para que, ao tomar ponto, a bola sai da raquete (do jogador ou máquina). Pensei nisso para simular um tipo de "saque". A alteração também permite você escolher a direção que a bola sairá ao levar ponto.

function destravaBola(){
  if(xBola + rBola > width){
  xBola = 575
  yBola = yRaqueteOP + alturaRaquete/2 
  velocidadexBola = -6
  }  
  if(xBola - rBola < 0){
  xBola = 25
  yBola = yRaqueteJ + alturaRaquete/2
  velocidadexBola = 6
      if (keyIsDown(UP_ARROW)){
      velocidadeyBola = -6;
      }
      if (keyIsDown(DOWN_ARROW)){
      velocidadeyBola = 6;
      }      
  }
 }  

Espero ter ajudado.

Att,

1 resposta

Olá Thales, tudo bem contigo?

Muito obrigado por compartilhar suas sugestões e modificações no jogo Pong! É sempre interessante ver como as pessoas conseguem personalizar o jogo e torná-lo ainda mais divertido.

Suas alterações parecem bem interessantes e úteis, especialmente para eliminar o bug da bola travada e permitir uma variação de espaço da raquete OP mais natural. Além disso, a ideia de simular um tipo de "saque" ao tomar ponto é bem criativa e pode tornar o jogo ainda mais desafiador.

É importante lembrar que, como você mesmo mencionou, essas modificações foram testadas para velocidades específicas e podem precisar de ajustes para outras velocidades. Mas, no geral, suas sugestões parecem ser bastante úteis para quem está jogando.

Mais uma vez, obrigado por compartilhar suas ideias conosco! Espero que outros jogadores possam se beneficiar delas também.

Parabéns por tudo isso, e muito obrigado por sua contribuição com a comunidade.

Um abraço e bons estudos.