Minha raquete quando entra a bolinha por um angulo especifico na ponta, ela se prende entre o fundo e a parte de tras da raquete, fazendo com que ela se prenta e até consegui trancar ela infinitamente e já conta mais de 30 mil pontos ...kkk
LINK já com mais de 35mil pontos https://prnt.sc/6Htt2_LHp4wI
a seta vermelha indica por onde ela entrou, e na parte de baixo da raquete também acontece, porém a bolinha vem de baixo para cima para funcionar o bug
AJUDA EUUUUUUUU POVOOOOOOOOOO
//~~~~~~~~BOLINHA~~~~~~~~
//posicao inicial da bolinha
let xBolinha = 300;
let yBolinha = 200;
//tamanho da bolinha
let diametro = 20;
let raio = diametro / 2;
//velocidade da bolinha
let velocidade = 6;
let velocidadeXBolinha = velocidade;
let velocidadeYBolinha = velocidade;
//tamanho das raquetes
let raqueteComprimento = 10;
let raqueteAltura = 90;
//Colisao
let colidiu = false;
//Placar do jogo
let pontosRaquete01 = 0;
let pontosRaquete02 = 0;
//~~~~~~~~RAQUETE 01~~~~~~~~
//posicao inicial da raquete
let xRaquete01 = 5;
let yRaquete01 = 150;
//~~~~~~~~RAQUETE 02~~~~~~~~
//posicao inicial da raquete
let xRaquete02 = 585;
let yRaquete02 = 150;
let velocidadeYRaquete02;
function setup() {
createCanvas(600, 400);
}
function draw() {
background(0); //fundo da tela
mostraBolinha(); //desenha a bolinha
movimentaBolinha(); //movimenta a bolinha
verificaColisaoBorda(); //verifica a colisao da bolinha com as bordas
mostraRaquete(xRaquete01, yRaquete01);
verificaColisaoRaquete(xRaquete01, yRaquete01);
movimentaRaquete01();
mostraRaquete(xRaquete02, yRaquete02);
movimentaRaquete02(xRaquete02, yRaquete02);
verificaColisaoRaquete(xRaquete02, yRaquete02);
incluirPlacar();
marcaPonto();
}
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(x,y){
rect(x,y,raqueteComprimento, raqueteAltura)
}
function movimentaRaquete01(){
if(keyIsDown(UP_ARROW)){
yRaquete01 -= 10;
}
if(keyIsDown(DOWN_ARROW)){
yRaquete01 += 10;
}
// Vamos limitar a movimentação da raquete para que ela não ultrapasse as bordas:
yRaquete01 = constrain(yRaquete01, 5, 305);
}
function movimentaRaquete02(){
velocidadeYRaquete02 = yBolinha - yRaquete02 - raqueteComprimento / 2 - 30;
yRaquete02 += velocidadeYRaquete02;
// Vamos limitar a movimentação da raquete para que ela não ultrapasse as bordas:
yRaquete02 = constrain(yRaquete02, 5, 305);
}
function verificaColisaoRaquete (x,y){
colidiu = collideRectCircle(x, y, raqueteComprimento, raqueteAltura, xBolinha, yBolinha, raio);
if (colidiu){
velocidadeXBolinha *= -1;
}
}
function incluirPlacar(){
fill(255);
text(pontosRaquete01,278,26);
text(pontosRaquete02,321,26);
}
function marcaPonto(){
if (xBolinha > 590){
pontosRaquete01+=1
}
if (xBolinha < 10){
pontosRaquete02+=1
}
}