Olá,
Exercício concluído.
https://editor.p5js.org/rd_gomes23/sketches/SCmVix2fE
//variáveis da dimensão da raquete
let cRaquete = 20
let hRaquete = 100
//posição e velocidade da raquete oponente
let xOponente = 570
let yOponente = 100
let VelocidadeYOponente;
//código da comunidade
let Colisao = false
//posição da minha raquete
let xMinhaRaquete = 10
let yMinhaRaquete = 50
//variáveis da bolinha
let xBolinha = 300;
let yBolinha = 200;
let Diametro = 30;
let Raio = Diametro / 2;
//velocidade da bolinha
let VelocidadeXBolinha = 2;
let VelocidadeYBolinha = 2;
//placar
let MeusPontos = 0;
let PontosOponente = 0;
function setup() {
createCanvas(600, 400);
}
function draw() {
background(0);
MostraBolinhaERaquetes()
MovimentaBolinha();
VerificaColisao();
MovimentaRaqueteOponente();
MovimentarMinhaRaquete();
VerificaColisãoRaquete();
VerificaColisãoOponente();
Placar();
MarcarPontos();
}
function MostraBolinhaERaquetes(){
circle(xBolinha, yBolinha, Diametro);
rect(xOponente, yOponente, cRaquete, hRaquete)
rect(xMinhaRaquete, yMinhaRaquete, cRaquete, hRaquete)
}
function MovimentaBolinha(){
xBolinha += VelocidadeXBolinha;
yBolinha += VelocidadeYBolinha;
}
function MovimentaRaqueteOponente(){
VelocidadeYOponente = yBolinha - yOponente - cRaquete / 2 - 30;
yOponente += VelocidadeYOponente
}
function VerificaColisao(){
if (xBolinha + Raio > width ||
xBolinha - Raio < 0){
VelocidadeXBolinha *= -1;
}
if (yBolinha + Raio > height ||
yBolinha - Raio < 0){
VelocidadeYBolinha *= -1;
}
}
function MovimentarMinhaRaquete(){
if (keyIsDown(UP_ARROW)){
yMinhaRaquete -= 10;
}
if (keyIsDown(DOWN_ARROW)){
yMinhaRaquete += 10;
}
}
function VerificaColisãoRaquete(){
if (xBolinha - Raio < xMinhaRaquete + cRaquete &&
yBolinha - Raio < yMinhaRaquete + hRaquete &&
yBolinha + Raio > yMinhaRaquete){
VelocidadeXBolinha *= -1;
}
}
//código da comunidade
function VerificaColisãoOponente(){
Colisao = collideRectCircle (xOponente, yOponente, cRaquete, hRaquete, xBolinha, yBolinha,Raio);
if (Colisao){
VelocidadeXBolinha *= -1
}
}
function Placar(){
fill(255)
text(MeusPontos, 278, 26);
text(PontosOponente, 321, 26)
}
function MarcarPontos(){
if (xBolinha > 585){
MeusPontos += 1;
}
if (xBolinha < 15){
PontosOponente += 1;
}
}