Boa tarde, pessoal! Esse é meu primeiro post aqui no fórum! (aee! =D)
Fiz algumas modificações que achei pertinentes no código e fiquei com uma dúvida.
Vamos as modificações: adicionei as raquetes uma limitação para elas não saírem da tela. Isso usando if's na função que movimenta elas, tanto na do jogador quando do oponente. Ficando:
function movimentaRaquete(){
if (keyIsDown(UP_ARROW)){
yRaquete -= 10;
}
if (keyIsDown(DOWN_ARROW)){
yRaquete += 10;
}
if (yRaquete < 3){
yRaquete = 3;
}
if (yRaquete > 307){
yRaquete = 307;
}
}
Modificando apenas o nome do y (no caso, yRaqueteOponente) na função de movimentação do oponente.
Outra modificação que fiz foi criar um número aleatório para a margem de erro do oponente, que varia sempre que o oponente marca um ponto. Sendo assim:
//chance de erro do oponente
let erroAleatorio;
//usando math para criar um número eleatório dentro dos parâmetros do jogo
erroAleatorio = Math.floor(Math.random() * 95 + (-20));
//adicionei novamente o math dentro no marcaPonto, acredito que haja uma forma melhor de fazer isso...
function marcaPonto(){
if (xBolinha > 590){
meusPontos += 1;
ponto.play();
}
if (xBolinha < 10){
pontosOponente += 1;
ponto.play();
erroAleatorio = Math.floor(Math.random() * 95 + (-20));
}
Eu gostaria que esse número ficasse sendo gerado automaticamente para dar mais vida para o oponente, mas não consegui realizar. Ainda que, da forma que está, ele simplesmente muda de posição de forma abrupta e sendo impossível ganhar em alguns momentos.
Minha dúvida é: não seria mais interessante se conseguissemos mudar a velocidade em que o oponente se movimenta, para dar a ilusão de que ele realmente não consegue alcançar a bolinha?
Segue o jogo! https://editor.p5js.org/ThomasNunes/full/01D6MlFJF