https://editor.p5js.org/RDCV10/sketches/waUAu4xYL
//variáveis da bolinha. let xBolinha = 300; let yBolinha = 200; let diametro = 25;
//movimentação da bolinha. let velocidadeXBolinha = 6; let velocidadeYBolinha = 6; let raio = diametro / 2;
//variáveis da raquete let xRaquete = 5; let yRaquete = 150; let raqueteComprimento = 10; let raqueteAltura = 110;
//variáveis do oponente. let xRaqueteOponente = 585; let yRaqueteOponente = 150; let raqueteComprimentoOponente = 10; let raqueteAlturaOponente = 110; let velocidadeYOponente;
function setup() { createCanvas(600, 400); }
function draw() { background(0); mostraBolinha(); movimentaBolinha(); verificaColisaoBorda(); mostraRaquete(); movimentaMinhaRaquete(); mostraColisaoRaquete(); mostraRaqueteOponente(); movimentaRaqueteOponente(); mostraColisaoRaqueteOponente();
}
function mostraBolinha(){ circle(xBolinha ,yBolinha ,diametro)
}
function movimentaBolinha(){ xBolinha += velocidadeXBolinha; yBolinha += velocidadeYBolinha;
} function verificaColisaoBorda(){
if (xBolinha +raio > width || xBolinha -raio < 0) { velocidadeXBolinha *= -1;
} if(yBolinha + raio > height || yBolinha - raio < 0){ velocidadeYBolinha *= -1;
}
} function mostraRaquete() { rect(xRaquete, yRaquete, raqueteComprimento, raqueteAltura); } function movimentaMinhaRaquete(){
if(keyIsDown(UP_ARROW)){ yRaquete -=10;
}if(keyIsDown(DOWN_ARROW)){ yRaquete += 10;
}
} function mostraColisaoRaquete(){
if(xBolinha - raio < xRaquete + raqueteComprimento
&& yBolinha - raio < yRaquete + raqueteAltura
&& yBolinha + raio > yRaquete){
velocidadeXBolinha *= -1;
}
} function mostraColisaoRaqueteOponente(){
if(xBolinha + raio > xRaqueteOponente + raqueteComprimentoOponente
&& yBolinha - raio < yRaqueteOponente + raqueteAlturaOponente
&& yBolinha + raio < yRaqueteOponente){
velocidadeXBolinha *= -1;
}
} function mostraRaqueteOponente(){ rect(xRaqueteOponente, yRaqueteOponente,raqueteComprimentoOponente, raqueteAlturaOponente); } function movimentaRaqueteOponente(){ velocidadeYOponente = yBolinha - yRaqueteOponente - raqueteComprimentoOponente /2 -30; yRaqueteOponente += velocidadeYOponente; }