Ola eu tentei adicionar uma função uma função para almentar a difculdade do jogo modificando a velocidade do eixo x e y da bola mas quando a função é ativada o jogo inteiro começa a bugar. Alguem teria alguma dica?
let xBolinha = 300;
let yBolinha = 200;
let diametroBolinha = 20;
let velocidadeXBolinha = 6;
let velocidadeYBolinha = 6;
let raio = diametroBolinha / 2;
//variável das raquetes.
let xRaquete1 = 5;
let yRaquete1 = 150;
let larguraRaquete = 10;
let alturaRaquete = 70;
// variávei do oponente
let xRaquete2 = 585;
let yRaquete2 = 150;
let velocidadeYRaquete2;
let colidiu = false;
let meusPontos = 0;
let pontosOponente = 0;
let chanceDeErrar = 0;
let trilha;
let ponto;
let raquetada;
function preload() {
trilha = loadSound("trilha.mp3");
ponto = loadSound("ponto.mp3");
raquetada = loadSound("raquetada.mp3");
}
function setup() {
createCanvas(600, 400);
trilha.loop();
}
function draw() {
background(000);
mostrarBolinha();
movimentarBolinha();
mostraRaquete(xRaquete1,yRaquete1);
movimentarRaquete1();
mostraRaquete(xRaquete2, yRaquete2);
movimentoRaquete2();
colisaoRaquete(xRaquete1, yRaquete1);
colisaoRaquete(xRaquete2, yRaquete2);
placar();
marcarPontos();
modoDesafio();
function bolinhaNaoFicaPresa(){
if (xBolinha + raio < 0){
console.log('bolinha ficou presa');
xBolinha = 300;
}
}
}
function mostrarBolinha() {
fill('rgb(0, 255, 0)');
circle(xBolinha, yBolinha, diametroBolinha);
}
function movimentarBolinha() {
xBolinha += velocidadeXBolinha; yBolinha += velocidadeYBolinha;
if(xBolinha + raio > width || xBolinha - raio < 0) {
velocidadeXBolinha *= -1
}
if(yBolinha + raio > height || yBolinha - raio < 0) {
velocidadeYBolinha *= -1
}
}
function mostraRaquete(x, y) {
fill (255);
rect(x, y, larguraRaquete, alturaRaquete);
}
function movimentarRaquete1() {
if(keyIsDown(UP_ARROW)) {
yRaquete1 -= 10
}
if(keyIsDown(DOWN_ARROW)) {
yRaquete1 += 10
}
}
function movimentoRaquete2() {
velocidadeYRaquete2 = yBolinha - yRaquete2 - larguraRaquete / 2 - 30;
yRaquete2 += velocidadeYRaquete2 + chanceDeErrar;
calculeChanceDeErrar();
}
function colisaoRaquete(x, y) {
colidiu = collideRectCircle ( x, y, larguraRaquete, alturaRaquete, xBolinha, yBolinha, diametroBolinha) ;
if (colidiu) {
velocidadeXBolinha *= -1;
raquetada.play();
}
}
function placar() {
textAlign (CENTER)
fill ('rgb(100%, 0%, 10%)');
rect (180, 9, 40, 30);
rect (330, 9, 40, 30);
fill (255)
textSize (20);
text (meusPontos, 200, 30);
text (pontosOponente, 350, 30);
}
function marcarPontos() {
if (xBolinha > 590) {
meusPontos += 1;
ponto.play();
}
if (xBolinha < 10) {
pontosOponente += 1;
ponto.play();
}
}
function calculeChanceDeErrar() {
if (pontosOponente >= meusPontos) {
chanceDeErrar += 1;
if (chanceDeErrar >= 39){
chanceDeErrar = 60;
}
} else {
chanceDeErrar -= 1;
if (chanceDeErrar <= 35){
chanceDeErrar = 35;
}
}
}
function modoDesafio() {
if (meusPontos > 3) {
velocidadeXBolinha = 8;
velocidadeYBolinha = 8;
}
}