Minha bolinha está atravessando as raquetes mesmo com as funções escritas.
//variáveis da Bolinha let xBolinha = 300; let yBolinha = 200; let diametro = 15; let raio = diametro / 2;
//Velocidade da Bolinha let velocidadeXBolinha = 5; let velocidadeYBolinha = 5;
//Variaveis da Raquete let xRaquete = 5; let yRaquete = 150; let raqueteComprimento = 10; let raqueteAltura = 90;
// variaveis do oponente let xRaqueteOponente = 585; let yRaqueteOponente = 150; let velocidadeYOponente;
function setup() { createCanvas(600, 400); }
function draw() { background(0); mostraBolinha(); movimentaBolinha(); verificaColisaoBorda(); mostraRaquete(); mostraRaqueteOponente(); movimentoRaquete(); verificaColisaoRaquete(); verificaColisaoRaqueteOponente() movimentaRaqueteOponente();
}
function mostraBolinha (){ circle(xBolinha, yBolinha, diametro); }
function movimentaBolinha (){ xBolinha += velocidadeXBolinha; yBolinha += velocidadeYBolinha; }
function verificaColisaoBorda(){ if (xBolinha + raio > width || xBolinha - raio < 0){ velocidadeXBolinha *= -1; } if (yBolinha + raio > height|| yBolinha - raio < 0){ velocidadeYBolinha *= -1; } }
function mostraRaquete(){ rect (xRaquete, yRaquete, raqueteComprimento, raqueteAltura);
}
function mostraRaqueteOponente(){ rect (xRaqueteOponente, yRaqueteOponente, raqueteComprimento, raqueteAltura);
}
function movimentoRaquete (){ if(keyIsDown(UP_ARROW)){ yRaquete -= 10;
} if(keyIsDown(DOWN_ARROW)){ yRaquete += 10;
} }
function verificaColisaoRaquete (){ if (xBolinha - raio < xRaquete + raqueteComprimento && yBolinha - raio < yRaquete + raqueteAltura && yBolinha + raio > yRaquete) { velocidadeXBolinha *= -1; } }
function verificaColisaoRaqueteOponente (){ if (xBolinha - raio < xRaquete + raqueteComprimento && yBolinha - raio < yRaquete + raqueteAltura && yBolinha + raio > yRaquete) { velocidadeXBolinha *= -1; } }
function movimentaRaqueteOponente (){ velocidadeYOponente = yBolinha - yRaqueteOponente - raqueteComprimento / 2 -30 yRaqueteOponente += velocidadeYOponente }