Oii, Vitor! Tudo bem?
Desculpas pela demora para te dar um retorno, estava fazendo alguns testes.
Bom, vamos tentar outra alternativa e para isso é preciso realizar algumas modificações no seu código.
- Pelo que pude observar, a Raquete do oponente nunca errava, pois a função
marcaPonto
não estava sendo inicializada, devido aos ângulos estarem próximos da borda. Sendo assim, essa é a primeira modificação que faremos:
function marcaPonto() {
if (xBolinha > 590) { // diminuimos de 600 para 590
meusPontos += 1;
}
if (xBolinha < 12) { //aumentamos o ângulo de 0 para 12
pontosDoOponente += 1;
}
}
- Depois precisamos adicionar parênteses () à expressão
yBolinha - yRaqueteOponente - raqueteComprimento / 2 - 30;
que está na função:
function movimentaRaqueteOponente() {
velocidadeYOponente =
( yBolinha - yRaqueteOponente - raqueteComprimento) / 2 - 30;
yRaqueteOponente += velocidadeYOponente + chanceDeErrar;
calculaChanceDeErrar();
}
Como se trata cálculo em que todas as opções serão divididas por 2, o parêntese é necessário.
- Feito isso, é preciso alterar os parâmetros na função
calculaChanceDeErrar()
para que a contagem dos pontos fiquem condizentes com as alterações anteriores e passam a contar:
function calculaChanceDeErrar() {
if (pontosDoOponente >= meusPontos) {
chanceDeErrar += 40; //aumentamos de 1 para 40 pois a chance de errar precisa ser maior do que o diâmetro da bolinha
if (chanceDeErrar >= 120) { //multiplicamos o 40 por 3 para a raquete do oponente tenha uma possibilidade mais aleatória
chanceDeErrar = 40; // quando ela chegar em 120 ela volta para 40 e repete o processo.
}
} else {
chanceDeErrar -= 1;
if (chanceDeErrar <= 1) { // mudamos tudo para 1 para ela voltar a posição original quando o oponente tiver mais pontos
chanceDeErrar = 1;
}
}
}
Após realizar as alterações, salve o jogo e teste. Com as alterações, tanto a chance de errar é inicializada e a contagem de pontos também.
Deixarei aqui o link da cópia do seu projeto que fiz para fazer os testes, caso queira copiar os códigos, fique à vontade.
Espero que dê certo. Bons estudos, Vitor!