Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

A bolinha só treme e ja refiz e corrigi mil vezes

Esse é meu codigo, não tenho ideia do que pode estar errado, ja que ja vi todas as respostas do forum e não funciona

//varáveis da bolinha let xBolinha=300; let yBolinha=200; let diametro=20; let raio=diametro/2;

//velocidade da bolinha let velocidadeXBolinha = 6; let velocidadeYBolinha=6;

//variaveis da raquete let xRaquete=5 let yRaquete=150 let raqueteComprimento=7; let raqueteAltura=80;

//variáveis do oponente let xRaqueteOponente=585; let yRaqueteOponente=150; let velocidadeYOponente;

//placar do jogo let meusPontos=0; let pontosDoOponente=0;

function setup() { createCanvas(600, 400); }

function draw() { background(0); mostraBolinha(); movimentaBolinha(); verificaColisaoBorda(); mostraRaquete(xRaquete,yRaquete); movimentaMinhaRaquete(); verificaColisaoRaquete(xRaquete,yRaquete); mostraRaquete(xRaqueteOponente, yRaqueteOponente); movimentaRaqueteOponente(); verificaColisaoRaquete(xRaqueteOponente,yRaqueteOponente); incluiPlacar(); }

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 movimentaMinhaRaquete(){ if (keyIsDown(UP_ARROW)){ yRaquete-=10; }

if (keyIsDown(DOWN_ARROW)){ yRaquete +=10; } }

function verificaColisaoRaquete(x,y){ if (xBolinha - raio< x + raqueteComprimento && yBolinha -raio < y + raqueteAltura && yBolinha + raio > y){ velocidadeXBolinha *=-1; } }

function movimentaRaqueteOponente() { velocidadeYOponente = yBolinha - yRaqueteOponente - raqueteComprimento / 2 - 30; yRaqueteOponente += velocidadeYOponente }

function incluiPlacar(){ text(pontos, 278,26); }

1 resposta
solução!

Olá Kimberly , não sei se você já solucionou o problema no seu código, caso ainda não tenha solucionado o bug esta ocorrendo por que na função que verifica a colisão da raquete com a bolinha você esqueceu de declarar a variável “ xRaquete”.

Código sem erro:

function ColisaoRaquete(){
   if (xBolinha - raioBolinha < xRaquete + comprimentoRaquete && 
   yBolinha - raioBolinha < yRaquete + alturaRaquete && 
   yBolinha + raioBolinha > yRaquete){
   xvBolinha *= -1;
  } 

 // colisão raquete oponente

  if (xBolinha + raioBolinha > xRaquete2 - comprimentoRaquete && 
  yBolinha + raioBolinha > yRaquete2 - alturaRaquete && 
  yBolinha + raioBolinha > yRaquete2){
  xvBolinha *= -1;
    }
 }

espero ter ajudado.