Durante os testes do placar a bolinha não tocava nunca na borda do lado inimigo.
//variaveis bolinha
let xBolinha = 200;
let yBolinha = 200;
let dBolinha = 30;
let raio = dBolinha /2;
//velocidade bolinha
let velocXBolinha = 4;
let velocYBolinha = 4;
//variaveis raquete
let xRaquete = 10
let yRaquete = 200
let wRaquete = 10
let hRaquete = 80
let colision = false
//variaveis op raquete
let xOpRaquete = 680
let yOpRaquete = 200
let wOpRaquete = 10
let hOpRaquete = 80
let velocYOpRaquete = 2
//placar
let meusPontos = 0
let opPontos = 0
function setup() {
createCanvas(700, 500);
}
function draw() {
background(0);
mostraBolinha();
movBolinha();
verificaColisaoBorda();
minhaRaquete(xRaquete, yRaquete);
movMinhaRaquete();
//coliRaquete();
coliRaqueteBibli(xRaquete, yRaquete);
//minhaRaquete(xOpRaquete, yOpRaquete);
movOpRaquete();
coliRaqueteBibli(xOpRaquete, yOpRaquete);
incluiPlacar();
marcaPontos();
}
function mostraBolinha() {
circle(xBolinha,yBolinha,dBolinha);
}
function movBolinha() {
xBolinha += velocXBolinha
yBolinha += velocYBolinha
}
function verificaColisaoBorda() {
if (xBolinha + raio > width || xBolinha - raio < 0) { velocXBolinha *= -1}
if (yBolinha + raio > height || yBolinha - raio < 0){ velocYBolinha *= -1}
}
function minhaRaquete(x, y) {
rect(x, y, wRaquete, hRaquete)
}
function movMinhaRaquete(){
if (keyIsDown(UP_ARROW)){ yRaquete -= 7}
if (keyIsDown(DOWN_ARROW)){ yRaquete += 7}
yRaquete = constrain(yRaquete, 0, 420)
}
function coliRaquete() {
if (xBolinha - raio < xRaquete + wRaquete && yBolinha - raio < yRaquete + hRaquete && yBolinha + raio > yRaquete) {velocXBolinha *= -1;}
}
function coliRaqueteBibli(x, y){
colision =
collideRectCircle(x, y, wRaquete, hRaquete, xBolinha, yBolinha, raio);
if (colision){velocXBolinha *= -1;}
}
function movOpRaquete(){
velocYOp = yBolinha - yOpRaquete - wRaquete / 2 - 30 ;
yOpRaquete += velocYOp;
yOpRaquete = constrain(yOpRaquete, 0, 420)
}
function incluiPlacar(){
text (meusPontos, 300, 20)
text (opPontos, 400, 20)
fill (255)
}
function marcaPontos (){
if (xBolinha > 685) {meusPontos += 1}
if (xBolinha < 15) {opPontos +=1}
}