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.