Meu placar marca o primeiro ponto, depois não soma os pontos seguintes, permanece sempre com 1 ponto. Não consigo encontrar o motivo.
//Valores da bolinha
let xBolinha=300;
let yBolinha=200;
let diametro=20;
let raio = diametro/2;
//Velocidade da bolinha
let velocidadeXBolinha=6;
let velocidadeYBolinha=6;
//Valores da raquete
let larguraRaquete = 10;
let alturaRaquete = 50;
//Raquete direita
let xRaqueteDireita = 570 - larguraRaquete;
let yRaqueteDireita = 160;
//Raquete esquerda
let xRaqueteEsquerda = 30;
let yRaqueteEsquerda = 160;
let velocidadeYEsquerda;
let chanceDeErrar=0;
//Placar
let meusPontos = 0;
let pontosOponente = 0;
function setup() {
createCanvas(600, 400);
}
function draw() {
background(0);
bolinha();
moveBolinha();
limiteBordas();
raquete(xRaqueteDireita, yRaqueteDireita);
raquete(xRaqueteEsquerda, yRaqueteEsquerda);
moveRaqueteDireita();
moveRaqueteEsquerda();
colisaoDireita();
colisaoEsquerda();
incluiPlacar();
marcaPonto();
}
//Funções da bolinha
function bolinha (){
circle(xBolinha, yBolinha, diametro);
}
function moveBolinha (){
xBolinha += velocidadeXBolinha;
yBolinha += velocidadeYBolinha;
}
function limiteBordas(){
if (xBolinha + raio > width||
xBolinha - raio < 0) {
velocidadeXBolinha *= -1;
}
if (yBolinha + raio > height||
yBolinha - raio < 0) {
velocidadeYBolinha *= -1;
}
}
//Funções das raquetes
function raquete (x, y){
rect(x, y, larguraRaquete, alturaRaquete);
}
//Movimento raquete
function moveRaqueteDireita(){
if(keyIsDown(UP_ARROW) &&
(yRaqueteDireita > 0)){
yRaqueteDireita -= 5;
}
if(keyIsDown(DOWN_ARROW) &&
(yRaqueteDireita + alturaRaquete < height)){
yRaqueteDireita += 5;
}
}
function moveRaqueteEsquerda(){
velocidadeYEsquerda = yBolinha - yRaqueteEsquerda - larguraRaquete / 2 - 30;
yRaqueteEsquerda += velocidadeYEsquerda + chanceDeErrar;
calculaChanceDeErrar();
}
function calculaChanceDeErrar(){
if (pontosOponente >= meusPontos) {
chanceDeErrar += 1
if (chanceDeErrar >= 39){
chanceDeErrar = 40 }
} else {
chanceDeErrar -= 1
if (chanceDeErrar <= 35){
chanceDeErrar = 35 } }
}
function colisaoDireita(){
if (xBolinha + raio > xRaqueteDireita
&& yBolinha > yRaqueteDireita
&& yBolinha < yRaqueteDireita + alturaRaquete) {
velocidadeXBolinha *= -1;
}
}
function colisaoEsquerda(){
if (xBolinha - raio < xRaqueteEsquerda + larguraRaquete
&& yBolinha - raio < yRaqueteEsquerda + alturaRaquete
&& yBolinha + raio > yRaqueteEsquerda)
{
velocidadeXBolinha *= -1;
}
}
function incluiPlacar(){
fill(255);
text(meusPontos, 250, 30);
text(pontosOponente, 350, 30);
}
function marcaPonto(){
if (xBolinha < xRaqueteEsquerda){
meusPontos =+ 1;
}
if (xBolinha > xRaqueteDireita){
pontosOponente =+ 1;
}
}