Estava quebrando a cabeça para entender esses números, mas acho que finalmente entendi. Se eu estiver errado por favor me corrijam, mas se eu estiver certo fica a resposta aqui para quem também ficou com essa dúvida.
yRaqueteOponente += velocidadeYOponente + chanceDeErrar
Essa linha na função de movimento do oponente descreve que o valor da chanceDeErrar vai alterar a posição Y da raquete inimiga para que ela erre a bola.
function calculaChanceDeErrar() { if (pontosDoOponente >= meusPontos) { chanceDeErrar += 1 if (chanceDeErrar >= 39){ chanceDeErrar = 40 } } else { chanceDeErrar -= 1 if (chanceDeErrar <= 35){ chanceDeErrar = 35 } } }
Quando o oponente fica com mais pontos do que eu, o programa vai começar a somar vários números 1 em sequência, então em poucos segundos a partir do momento que o oponente ficou com mais pontos, o programa vai ter somado 1 39 vezes. Cada ponto somado altera a posição Y da raquete inimiga, mas depois de vários segundos o valor já vai estaria na casa das centenas, por isso a limitação, dizendo que a partir do momento que passar de 39, vamos limitar o movimento do eixo Y em 40, o que já é suficiente para a raquete errar.
E mais abaixo temos o oposto, dizendo que se eu estiver com mais pontos, então comece a subtrair pontos da chanceDeErrar. Depois de alguns segundos, os 40 pontos acumulados vão reduzir e voltar para 35, nesse momento, a raquete vai se mover só 35 no eixo Y voltando a acertar a bola.
Esses valores que o professor passou estão tão acertados que mesmo com sua pontuação maior ainda tem a chance da bola deslizar e a raquete inimiga errar, por isso são os valores ideais para deixar o jogo mais divertido.
Se você mudar a segunda parte da função e deixar assim:
} else { chanceErro -= 1 if (chanceErro <= 0) { chanceErro = 0 } } }
Você vai perceber que quando sua pontuação ficar melhor a raquete inimiga não vai errar nunca mais, por que esses valores não dão margem para uma deslizada, deixando o jogo estagnado enquanto você estiver vencendo.
Espero ter ajudado, se alguém um dia achar números melhores por favor avise, eu também não estou gostando da forma como o jogo fica com os valores 39, 40 e 35, mas não consigo achar outros valores que não resultem num jogo paradão.
Abraços!