O meu está com o seguinte problema: Quando rodo a aplicação, ela funciona normalmente, exceto pelo fato da bolinha estar ultrapassando as raquetes, tanto a minha raquete quanto a raquete do oponente. Não estou encontrando o erro. Alguém poderia me ajudar?
//Variáveis da bolinha let xBola = 300; let yBola = 200; let diametro = 20; let raio = diametro / 2;
//Velocidade da bolinha let velocidadeXBola = 5; let velocidadeYBola = 5; let raqueteComprimento = 7; let raqueteAltura = 80;
//Variaveis da raquete let xRaquete = 5; let yRaquete = 150;
//Variáveis do oponente let xRaqueteOponente = 585; let yRaqueteOponente = 150; let velocidadeYOponente;
//placar do jogo let meusPontos = 0; let pontosOponente = 0;
function setup() { createCanvas(600, 400); fill("write"); }
function draw() { background(20); mostraBola(); movimentoBola(); verificaColisaoBorda(); mostraRaquete(xRaquete, yRaquete); movimentoMinhaRaquete(); verificaColisaoRaquete(xRaquete, yRaquete); mostraRaquete(xRaqueteOponente, yRaqueteOponente); movimentoRaqueteOponente(); verificaColisaoRaquete(xRaqueteOponente, yRaqueteOponente); incluiPlacar(); marcaPonto(); }
function mostraBola(){ circle(xBola,yBola,diametro); }
function movimentoBola(){ xBola += velocidadeXBola; yBola += velocidadeYBola; }
function verificaColisaoBorda(){ if (xBola + raio > width || xBola - raio < 0){ velocidadeXBola *= -1; }
if (yBola + raio > height || yBola - raio < 0){ velocidadeYBola *= -1; } }
function mostraRaquete(x,y){ rect(x, y, raqueteComprimento, raqueteAltura); }
function movimentoMinhaRaquete(){ if (keyIsDown(UP_ARROW)){ yRaquete -= 10; } if (keyIsDown(DOWN_ARROW)){ yRaquete += 10; } }
function verificaColisaoRaquete(){ if (xBola - raio < xRaquete + raqueteComprimento && yBola - raio< yRaquete + raqueteAltura && yBola + raio > yRaquete){ velocidadeXBola *= -1; } }
function verificaColisaoRaqueteOponente(){ if (xBola - raio < xRaqueteOponente + raqueteComprimento && yBola - raio< yRaqueteOponente + raqueteAltura && yBola + raio > yRaquete){ velocidadeXBola *= -1; } }
function movimentoRaqueteOponente(){ velocidadeYOponente = yBola - yRaqueteOponente - raqueteComprimento /2 - 30; yRaqueteOponente += velocidadeYOponente }
function incluiPlacar() { fill('write'); text(meusPontos, 218, 26); text(pontosOponente, 321, 26); }
function marcaPonto() { if (xBola > 590) { meusPontos += 1; } if (xBola < 10) { pontosOponente += 1; } }