1
resposta

[Sugestão] Uma solução para fazer o oponente errar algumas vezes

Tendo como base as soluções propostas por outros alunos, resolvi me desafiar a criar minha própria solução para fazer o oponente errar algumas vezes. Primeiro criei a variável chanceDeErrar. Veja como ficou.

let chanceDeErrar = 0;

Criei uma função chamado calculaChanceDeErrar(). Veja como ficou.

function calculaChanceDeErrar(){
  if(xBolinha < 300){
    chanceDeErrar = round(random(-80,80));
  }else{
    chanceDeErrar = 0;
  }
}

Veja que utilizei a função random para sortear um numero aleatório entre -80 e 80 quando a bolinha estiver da minhaRaquete. Obs: a função round arredonda para um número inteiro mais próximo.

Depois eu chamei essa função verificaColisaoRaquete(x, y) e marcaPonto(). Veja como ficou.

function verificaColisaoRaquete(x, y){
  colidiu = collideRectCircle(x, y, raqueteComprimento, raqueteAltura, xBolinha, yBolinha, raio);
  if (colidiu){
    velocidadeXBolinha *= -1;
    raquetada.play();
    calculaChanceDeErrar();
  }
}

function marcaPonto(){
  if (xBolinha > 585){
    meusPontos += 1
    ponto.play();
  }
  if (xBolinha < 15){
    pontosDoOponente += 1
    ponto.play();
    calculaChanceDeErrar();
  }
}

Ou seja, a cada colisão nas raquetes e a cada ponto da minhaRaquete um número aleatório é sorteado entre -80 e +80.

Com isto é só incluir a variável chanceDeErrar na velocidadeYOponente. Veja como ficou.

function movimentaRaqueteOponente(){
  velocidadeYOponente = yBolinha - yRaqueteOponente - raqueteComprimento / 2 + chanceDeErrar ;
  yRaqueteOponente += velocidadeYOponente;
}

Por tanto a cada toque que a bolinha dá nas duas raquetes e quando a minhaRaquete fizer ponto a posição Y da RaqueteOponente muda, fazendo com que aleatoriamente a raquete oponente erre alguns lances.

Obs: os números -80 e +80 podem ser mudados, depois dos testes achei este intervalo bem razoável.

Sou iniciante, então pode ter algo erro, então qualquer coisa só falar.

1 resposta

Olá Ramirez, tudo certo?

Meus sinceros parabéns pelo seu projeto! Seu código ficou ótimo, o exercício de desenvolver por conta própria contribui e muito para fortalecer nossos conhecimentos e irmos além, meus parabéns pela iniciativa, continue assim!

Se precisar de ajuda estamos à disposição, pode contar conosco!

Tenha um bom dia e bons estudos.