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

A Raquete Oponente acompanha a bolinha

Pessoal, se alguém puder me ajudar, a raquete oponente (Raquete2 no meu código), está acompanhando a bolinha e sempre acerta, utilizei o código da aula, tebtei aplicar algumas alternativas que vi aqui no fórum, mas nenhuma funcionou.

https://editor.p5js.org/marlonduarte/sketches/ij0ErbC-9

4 respostas

Oi, Francisco

Como fazer o oponente errar!

//variáveis para gerar erro do oponente
let erroVariacao = 0; // variação em relação a posição yRaquete2
let erroSinal = 1; // valor adicionado a variação
let erroLimite = 30; // limite da variação em relação a posição yRaquete2


function movimentoRaquete2() {
  velocidadeYRaquete2 = yBolinha - yRaquete2 - erroVariacao; 
  // limitar o valor da variação
  if (erroVariacao < - erroLimite || erroVariacao > hRaquete2 + erroLimite)
    erroSinal *= -1;
  // modifica o valor da variação 
  erroVariacao += erroSinal;
}

A posição yBolinha pode variar em relação a yRaquete2

De, -30

Até, hRaquete2 + 30

Luis, apliquei a solução indicada, mas não funcionou, a Raquete 2 ficou sem movimento total.

solução!

Faltou "yRaquete2 += velocidadeYRaquete2;"

//variáveis para gerar erro do oponente
let erroVariacao = 0; // variação em relação a posição yRaquete2
let erroSinal = 1; // valor adicionado a variação
let erroLimite = 30; // limite da variação em relação a posição yRaquete2


function movimentoRaquete2() {
  velocidadeYRaquete2 = yBolinha - yRaquete2 - erroVariacao; 
  yRaquete2 += velocidadeYRaquete2;
  // limitar o valor da variação
  if (erroVariacao < - erroLimite || erroVariacao > hRaquete2 + erroLimite)
    erroSinal *= -1;
  // modifica o valor da variação 
  erroVariacao += erroSinal;
}

Agora deu certo, muito obrigado Luis.