Solucionado (ver solução)
Solucionado
(ver solução)
3
respostas

Modificando o código para ser possível realizar pontos

Ao concluir o curso não fiquei satisfeito com o jogo devido ao fato do oponente sempre defender a bolinha pois seu movimento é preciso ao movimento da bolinha. Por conta disso resolvi fazer uma modificação no código pra ser possível realizar pontos.

Primeiro eu criei uma variável nova, para dizer a velocidade da raquete:

//variaveis do oponente
let xOponente = 584;
let yOponente = 160;
let velocidadeOponente;
let velocidadeOponente2; = 6; //variável nova

Depois, na função onde cria o movimento da variável, eu usei o mesmo principio de movimento da bolinha:

function movimentaOponente(){
//meu código
  yOponente += velocidadeOponente2;
  if (yOponente + raqueteAltura >= 400){
      velocidadeOponente2 *= -1
  }
  if (yOponente <= 0){
      velocidadeOponente2 *= -1;
      }

//código usado pelo professor
 /* velocidadeOponente = yBolinha - yOponente - raqueteComprimento /2 - 40;
  yOponente += velocidadeOponente;*/

}

Com isso, a raquete do oponente se movimenta sempre numa constante, porém um tanto artificial, mas dando a possibilidade de realizar pontos contra a maquina.

Resolvi postar aqui no fórum como uma ideia e/ou sugestão para aqueles iguais a mim que ficaram incomodados por não ter como realizar pontos e não sabe como resolver o problema.

Ps.: A bolinha possui uma velocidade 6, e depois de alguns testes, percebi que se por a raquete com velocidade 5, elas entram em sincronia e fica impossível realizar pontos. Acredito também que aumentando ou diminuindo a velocidade é possível tornar o jogo mais fácil ou difícil.

3 respostas

Fala ai Robson, parabéns pela solução, muito bom ir além do que foi ensinado.

Consegue compartilhar o link do p5 web? Assim podemos jogar ele com a nova funcionalidade, seria bem bacana.

Abraços, bons estudos e novamente parabéns.

Claro Matheus, posso sim. Segue o link

Ps.: Deixei a velocidade em 4.5 pois estava fazendo testes, caso queira alterar é só mudar o valor da variável "let velocidadeOponente2". Ocasionalmente acontece um bug da bolinha acertar a borda da raquete e travar no canto, realizando diversos pontos. Recomendo estar com o som baixo caso aconteça isso....

solução!

Poxa Robson ficou bem massa, joguei aqui.

Parabéns novamente, é sempre bom buscar e ir além do conteúdo passado em curso.

Abraços e bons estudos.