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

Possível solução pro oponente não errar.

Eu pensei nessa solução e quando eu testei ela funcionou, eu alterei a função calculaChanceDeErrar e pensei em sortear numeros que podem mudar a posição do inimigo até que ele erre ou acerte.

//Variáveis

  //Logica do erro

    let chanceDeErrar = 95;
    let posicao1 = [101, 93, 98, 94, 97, 103, 96, 100, 99, 102, 95];
    let selecionaPosicao = 0;

A partir do 101 ele erra, e antes disso ele acerta, botei poucas chances porque achei um pouco fácil com mais chances.

E a função:

function calculaChanceDeErrar() {

    var numeroEscolhido = Math.round(Math.random() * 9);

//Uma tentativa de diminuir as chances de virem números repetidos
    if(numeroEscolhido != selecionaPosicao) {

              selecionaPosicao = numeroEscolhido;
        }

    chanceDeErrar = posicao[selecionaPosicao];

}

Eu executo essa função quando alguém pontua ou quando a bolinha bate na raquete do oponente.

E depois eu eu troco o 20 que o professor tinha colocado pela variável chanceDeErrar.

velocidadeRaqueteOponente =  yBolinha - yRaqueteOponente - raqueteComprimento + chanceDeErrar;

  yRaqueteOponente += velocidadeRaqueteOponente;

No meu jogo funcionou, espero ter ajudado alguém com isso, fiquei muito perdido sobre isso.

2 respostas
solução!

Fala, João Vitor! Tudo bem contigo?

Muito obrigado por compartilhar conosco sua lógica!

Com certeza vai ajudar e muito os alunos que passarem por essa aula.

Parabéns, meu amigo! Bacana mesmo!

Qualquer dúvida nos procure

Um abraço e bons estudos

Obrigado!