function setup() { createCanvas(600, 400); } // variáveis bolinha
let xBolinha = 300; let yBolinha = 200; let diametro = 22; let raio = diametro/2;
// movimentar a bolinha
let velocidadeXBolinha = 5; let velocidadeYBolinha = 5;
// variáveis raquete
let xRaquete = 2; let yRaquete = 170; let wRaquete = 10; let hRaquete = 90;
// variáveis raquete do oponente
let xRaqueteOponente = 589; let yRaqueteOponente = 170; let velocidadeYRaquete; let erro = 0
// variáveis placar
let meusPontos = 0 let pontosOponente = 0
function draw() { background(10); bolinha(); movimentaBolinha(); colisaoBordas(); raquete(xRaquete,yRaquete); raquete(xRaqueteOponente,yRaqueteOponente); movimentaRaquete(); colisaoRaquete(); movimentaRaqueteOponente(); mostraPlacar() mudaPlacar() chanceErrar() }
function bolinha(){ circle(xBolinha,yBolinha,diametro);
}
function movimentaBolinha(){ xBolinha+=velocidadeXBolinha; yBolinha+=velocidadeYBolinha; }
function colisaoBordas(){ if(xBolinha + raio > 600 || xBolinha - raio < 0){ velocidadeXBolinha= -1; } if(yBolinha + raio > 400 || yBolinha - raio < 0){ velocidadeYBolinha= -1; } }
function raquete(x,y){ rect(x,y,wRaquete,hRaquete); }
function movimentaRaquete(){
if(keyIsDown(UP_ARROW)){ yRaquete-= 5 // yRaqueteOponente-= 5 }
if(keyIsDown(DOWN_ARROW)){
yRaquete+= 5
//yRaqueteOponente+=5
}
}
function colisaoRaquete(){
if(xBolinha - raio < xRaquete + wRaquete && yBolinha - raio < yRaquete + hRaquete && yBolinha + raio > yRaquete){
velocidadeXBolinha*= -1;
}
if(xBolinha > xRaqueteOponente - wRaquete && yBolinha - raio < yRaqueteOponente + hRaquete && yBolinha + raio > yRaqueteOponente){
velocidadeXBolinha*= -1;
}
}
function movimentaRaqueteOponente(){
let velocidadeYRaquete = yBolinha - yRaqueteOponente - wRaquete /2 -30
yRaqueteOponente += velocidadeYRaquete + erro;
}
function mostraPlacar(){ fill("white") text(" Score " + meusPontos, 250, 26) text(" CPU " + pontosOponente, 325, 26) }
function mudaPlacar(){
if(xBolinha < 15){ pontosOponente+= 1 } if(xBolinha > 585){ meusPontos+= 1 } }
function chanceErrar(){
if( pontosOponente > meusPontos){ erro++ } // Quando a condição do erro estava em >= 39 o oponente não errava
if(erro >= 3){ erro = 45 }
if(meusPontos < pontosOponente){ erro-- } // Quando a condição do erro estava em <= 35 o oponente não errava
if(erro <= 2){ erro = 35 }
}