Este é meu código até o momento:
//variáveis da bolinha
let xBolinha = 300;
let yBolinha = 200;
let diametroBolinha = 20;
let raio = diametroBolinha / 2;
//variáveis raquete jogador
let xRaquete = 5;
let yRaquete = 150;
//variáveis tamanho da raquete
let larguraRaquete = 10;
let comprimentoRaquete = 100;
//variáveis raquete maquina
let xRaqueteMaquina = 585;
let yRaqueteMaquina = 150;
let velocidadeYOponente;
//velocidade da bolinha
let velocidadeXBolinha = 6;
let velocidadeYBolinha = 6;
function setup() {
createCanvas(600, 400);
}
function draw() {
background(0);
desenhaBolinha();
movimentaBolibha();
desenhaRaquete(xRaquete, yRaquete);
verificacolisaoBolinha();
movimentaRaqueteJogador();
verificaColisaoBolinhaRaquete();
desenhaRaquete(xRaqueteMaquina, yRaqueteMaquina);
verificaColisaoBolinhaRaqueteMaquina();
movimentaRaqueteMaquina();
}
function desenhaBolinha(){
circle(xBolinha, yBolinha, diametroBolinha);
}
function movimentaBolibha(){
xBolinha += velocidadeXBolinha;
yBolinha += velocidadeYBolinha;
}
function verificacolisaoBolinha(){
if (xBolinha + raio > width || xBolinha - raio < 0){
velocidadeXBolinha *= -1;
}
if (yBolinha + raio > height || yBolinha - raio < 0){
velocidadeYBolinha *= -1;
}
}
function desenhaRaquete(x, y){
rect(x, y, larguraRaquete, comprimentoRaquete);
}
function movimentaRaqueteJogador(){
if (keyIsDown(UP_ARROW)){
yRaquete -= 10;
}
if (keyIsDown(DOWN_ARROW)){
yRaquete += 10;
}
}
function verificaColisaoBolinhaRaquete(){
if (xBolinha - raio < xRaquete + larguraRaquete && yBolinha - raio < yRaquete + comprimentoRaquete && yBolinha + raio > comprimentoRaquete)
xBolinha *= -1;
}
function movimentaRaqueteMaquina(){
velocidadeYOponente = yBolinha - yRaqueteMaquina - comprimentoRaquete / 2 -30;
yRaqueteMaquina += velocidadeYOponente;
}
function verificaColisaoBolinhaRaqueteMaquina(){
if (xBolinha + raio > xRaqueteMaquina && yBolinha - raio < yRaqueteMaquina + comprimentoRaquete && yBolinha + raio > comprimentoRaquete)
xBolinha *= -1;
}
Não utilizei a biblioteca do Github porque achei mais fácil entender a lógica escrevendo minhas próprias funções. O que acontece é que a raquete da "máquina" nunca erra e a bolinha está sumindo quando acerta os pontos marcados nas raquetes da imagem abaixo:
Se alguém souber como me ajudar ficarei agradecido.