Olá Vinicius e Kayque, tudo bem?
Parabéns por ambos customizarem o jogo, deixando de uma forma mais usual e realista.
Kayque, gostei muito que conseguiu implementar uma aleatoriedade na direção da bolinha. Que bom que você está conseguindo deixar o jogo mais dinâmico e assim aprendendo mais a programar.
Acredito que a forma mais simples de implementar essa funcionalidade seja colocando a bola para o meio do Canva quando acontecer o ponto.
function marcaPontos(){
if (xBola > 590){
foiPonto();
meusPontos += 1;
}
if (xBola < 10){
foiPonto();
pontosOpo += 1;
}
}
function foiPonto(){
ponto.play();
// Ao marcar um ponto, lança a bola para o cento do campo
xBola = 300;
yBola = 200;
}
Criei uma função só para não ficar repetindo código.
Nessa forma mais simples, a bola só será movida pro centro, sem mudar a trajetoria que já estava fazendo. Se você quiser adicionar essa opção, basta usar um Math.Random()
e em algumas situações multiplicar a velocidade (tanto x quanto y) por -1, ou não.
function foiPonto(){
ponto.play();
// Ao marcar um ponto, lança a bola para o centro do campo
xBola = 300;
yBola = 200;
let direcaoAleatoria = Math.random();
if (direcaoAleatoria < (1/4)){
// Inverter só X
velocidadeX *= -1;
}else if (direcaoAleatoria < (2/4)){
// Inverter só o Y
velocidadeY *= -1;
}else if (direcaoAleatoria < (3/4)){
// Inverter ambos
velocidadeX *= -1;
velocidadeY *= -1;
}else{
// Não inveter nenhum (continuar a trajetória)
velocidadeX *= 1;
velocidadeY *= 1;
}
}
Nesse caso, ela iniciará em uma direção aleatória!
Espero ter conseguido ajudá-los.
Abraços,
Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓. Bons Estudos!