3
respostas

A funcao verifica colisao raquete atraves da biblioteca nao funciona

[https://editor.p5js.org/thiago.abreu80/sketches/aiZ2l3kbs]``` // parametros bolinha** let xBolinha = 300; let yBolinha = 225; let diametro = 25;

//velocidade bolinha let velocidadeXBolinha = 4; let velocidadeYBolinha = 4; let raio = diametro/2;

// parametros raquete** let xRaquete = 5; let yRaquete = 150; let larguraRaquete = 10; let comprimentoRaquete = 100;

// parametros raquete Oponente let xRaqueteOponente = 585; let yRaqueteOponente = 150; let velocidadeYOponente;

let colidiu = false;

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

function setup() { createCanvas(600, 400); } function draw() { background(0); mostraBolinha(); movimentaRaquete(); movimentaBolinha(); verificaColisaoRaquete(); //colisaoMinhaRaqueteBiblioteca(); mostraRaquete(xRaquete,yRaquete); mostraRaquete(xRaqueteOponente, yRaqueteOponente); movimentaRaqueteOponente(); incluirPlacar(); meusPontos(); } function mostraBolinha(){ circle (xBolinha, yBolinha,diametro); } function mostraRaquete(x,y){ rect(x, y, larguraRaquete,comprimentoRaquete ) }

function movimentaRaquete(){ if ( keyIsDown(UP_ARROW)){yRaquete -= 10} if ( keyIsDown(DOWN_ARROW)){yRaquete +=10 } } function movimentaBolinha(){ xBolinha += velocidadeXBolinha yBolinha += velocidadeYBolinha

if (xBolinha + raio >width|| xBolinha-raio <0 ){ velocidadeXBolinha *=-1 } if (yBolinha + raio> height || yBolinha - raio<0){ velocidadeYBolinha *= -1 } }

function verificaColisaoRaquete(){ if ( xBolinha -raio < xRaquete+ larguraRaquete && yBolinha-raio < yRaquete + comprimentoRaquete && yBolinha +raio> yRaquete) { velocidadeXBolinha *=-1 } } function colisaoMinhaRaqueteBiblioteca(){ colidiu collidePointPoint(xRaquete, yRaquete,comprimentoRaquete, larguraRaquete, xBolinha, yBolinha, raio) if( colidiu){ velocidadeXBolinha *=-1 } } function mostraRaquete(x,y){ rect (x,y,larguraRaquete,comprimentoRaquete); } function movimentaRaqueteOponente(){ velocidadeYOponente = yBolinha - yRaqueteOponente- comprimentoRaquete/2 -30; yRaqueteOponente += velocidadeYOponente } function incluirPlacar(){ fill(255 ); text(meuspontos, 260,26); text( pontosDoOponente, 350, 26) } function meusPontos(){ if( xBolinha >587){ meuspontos += 1 } if( xBolinha < 15){ pontosDoOponente +=1 } }

  1. `
3 respostas

Use o botão </> para inserir o código de forma formatada.

Assim fica melhor para encontrar o erro e enviar ajuda para você.

//Obrigado Gabriel

// parametros bolinha**
let xBolinha = 300;
let yBolinha = 225;
let diametro = 25;

//velocidade bolinha
let velocidadeXBolinha = 4;
let velocidadeYBolinha = 4;
let raio = diametro/2;

// parametros raquete**
let xRaquete = 5;
let yRaquete = 150;
let larguraRaquete = 10;
let comprimentoRaquete = 100;

// parametros raquete Oponente
let xRaqueteOponente = 585;
let yRaqueteOponente = 150;
let velocidadeYOponente;

let colidiu = false;

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

function setup() {
  createCanvas(600, 400);
}
function draw() {
  background(0);
  mostraBolinha();
  movimentaRaquete();
  movimentaBolinha();
 // verificaColisaoRaquete();
  colisaoMinhaRaqueteBiblioteca();
  mostraRaquete(xRaquete,yRaquete);
  mostraRaquete(xRaqueteOponente, yRaqueteOponente);
  movimentaRaqueteOponente();
  incluirPlacar();
  meusPontos();
}
function mostraBolinha(){
circle (xBolinha, yBolinha,diametro);
}
function mostraRaquete(x,y){
rect(x, y, larguraRaquete,comprimentoRaquete )
}

function movimentaRaquete(){
  if ( keyIsDown(UP_ARROW)){yRaquete -= 10}
  if ( keyIsDown(DOWN_ARROW)){yRaquete +=10
}
}
function movimentaBolinha(){
  xBolinha += velocidadeXBolinha 
  yBolinha += velocidadeYBolinha

  if (xBolinha + raio >width||
      xBolinha-raio <0 ){ 
   velocidadeXBolinha *=-1
}
  if (yBolinha + raio> height || 
      yBolinha - raio<0){
    velocidadeYBolinha *= -1
  }
}

function verificaColisaoRaquete(){
  if ( xBolinha -raio < xRaquete+ larguraRaquete && yBolinha-raio < yRaquete + comprimentoRaquete && yBolinha +raio> yRaquete)
     { velocidadeXBolinha *=-1
}
}
function colisaoMinhaRaqueteBiblioteca(){
  colidiu
  collidePointPoint(xRaquete, yRaquete,comprimentoRaquete, larguraRaquete, xBolinha, yBolinha, raio)
if( colidiu){
  velocidadeXBolinha *=-1
}
}
function mostraRaquete(x,y){
  rect (x,y,larguraRaquete,comprimentoRaquete);
}
function movimentaRaqueteOponente(){
  velocidadeYOponente = yBolinha - yRaqueteOponente- comprimentoRaquete/2 -30;
  yRaqueteOponente += velocidadeYOponente
}
function incluirPlacar(){
  fill(255 );
  text(meuspontos, 260,26);
  text( pontosDoOponente, 350, 26)
}
function meusPontos(){
  if( xBolinha >587){
    meuspontos += 1
  }
  if( xBolinha < 15){
    pontosDoOponente +=1
  } 
}

Retire o comentário de:

 // verificaColisaoRaquete();

Deve ficar assim:

 verificaColisaoRaquete();