Mesmo invertendo a condição para a raquete da maquina que já está no lado positivo, a bolinha continua a atravessar a raquete da máquina. Alguém poderia me auxiliar no que eu estou falhando?
//Parametros da Bolinha let xBolinha = 300; let yBolinha = 200; let iDiamentro = 50; let iRaioBolinha = iDiamentro / 2;
//Velocidade da Bolinha let iVelocidadeBolinha_x = 2; let iVelocidadeBolinha_y = 2;
//Parametros Raquete Jogador let xRaqueteJogador = 5; let yRaqueteJogador = 130; let iRaqueteComprimento = 10; let iRaqueteAltura = 90;
//Parametros Raquete Maquina let xRaqueteMaquina = 585; let yRaqueteMaquina = 150; let yVelocidadeRaqueteOponente;
function setup() { createCanvas(600, 400); }
//projeto function draw() { background(0); criaBolinha(); movimentaBolinha(); contatoBolinhaBorda(); criaRaquete(xRaqueteJogador,yRaqueteJogador); criaRaquete(xRaqueteMaquina,yRaqueteMaquina); movimentoRaqueteJogador(); movimentoRaqueteMaquina(); colisaoBolinhaRaqueteJogador(); colisaoBolinhaRaqueteMaquina(); }
//Desenha a bolinha na tela function criaBolinha(){ circle(xBolinha,yBolinha,iDiamentro); }
//Velocidade em que a bolinha se move no eixo x e y function movimentaBolinha(){ xBolinha += iVelocidadeBolinha_x; yBolinha += iVelocidadeBolinha_y; }
//Ajusta para que as bordas da bolinha toque na borda da tela ao invés do centro da bolinha function contatoBolinhaBorda(){ if((xBolinha + iRaioBolinha) > width || (xBolinha - iRaioBolinha) < 0) { iVelocidadeBolinha_x *= -1; } if((yBolinha + iRaioBolinha)> height || (yBolinha - iRaioBolinha) < 0) { iVelocidadeBolinha_y *= -1; } }
//Desenha raquete function criaRaquete(x,y){ rect(x,y,iRaqueteComprimento,iRaqueteAltura); }
//Atribui movimento para a raquete do jogador function movimentoRaqueteJogador(){ if(keyIsDown(UP_ARROW)){ yRaqueteJogador -= 10; } if(keyIsDown(DOWN_ARROW)){ yRaqueteJogador += 10; } }
//Atribui movimento para a raquete do Maquina function movimentoRaqueteMaquina(){ yVelocidadeRaqueteOponente = yBolinha - yRaqueteMaquina; yVelocidadeRaqueteOponente = yVelocidadeRaqueteOponente - iRaqueteComprimento; yVelocidadeRaqueteOponente = yVelocidadeRaqueteOponente / 2 - 30; yRaqueteMaquina += yVelocidadeRaqueteOponente; }
//Verifica a colisão da bolinha na raquete Jogador function colisaoBolinhaRaqueteJogador(){ if( (xBolinha - iRaioBolinha < xRaqueteJogador + iRaqueteComprimento) && ((yBolinha - iRaioBolinha) < (yRaqueteJogador + iRaqueteAltura)) && ((yBolinha + iRaioBolinha) > yRaqueteJogador) ){ iVelocidadeBolinha_x *= -1; } }
//Verifica a colisão da bolinha na raquete da Maquina function colisaoBolinhaRaqueteMaquina(){ if( xBolinha + iRaioBolinha > xRaqueteMaquina && yBolinha + iRaioBolinha < yRaqueteMaquina + iRaqueteAltura && yBolinha + iRaioBolinha > yRaqueteMaquina) { iVelocidadeBolinha_x *= -1; } }