0
respostas

Porque a raquete do oponente nunca erra??

Eu não consigo entender porque a raquete do oponente nunca erra , se eu mudar o número pra 70 por exemplo ai ela erra , mas também ela só erra, até no scratch quando eu fiz ela nunca errava , oque tem de errado ? eu revisei mil vezes mas não consigo achar o erro :( , me ajudem por favor !!

//variaveis sons do jogo

let raquetada;
let ponto;
let trilha;

//variáveis da bolinha
let xBolinha = 300;
let yBolinha = 200;
let dBolinha = 15;
let rBolinha = dBolinha / 2 ;

//velocidade da bolinha
let velXBolinha = 6;
let velYBolinha = 6;


//variáveis raquetes 
let wRaquete = 10;
let hRaquete = 90;
let colidiu = false;

//variaveis raquete do Oponente
let xRaqueteOponente = 580;
let yRaqueteOponente = 200-45;
let velYOponente;
let chanceErrar = 0;


//variaveis raquetes do Jogador

let xRaquetePlayer = 10;
let yRaquetePlayer = 200-45;

let velYCimaPlayer = -10;
let velYBaixoPlayer = 10;

//variaveis Placar

let meusPontos = 0;
let pontosOponente = 0;

function preload(){
  trilha = loadSound("trilha.mp3")
  ponto = loadSound("ponto.mp3")
  raquetada = loadSound("raquetada.mp3")
}

function setup() {
  createCanvas(600, 400);
  trilha.loop();
}

function draw() {
  background(0);
  mostraBolinha();
  movimentaBolinha();
  verificaColisaoBorda();
  mostraRaquete(xRaquetePlayer,yRaquetePlayer);
  movimentaRaquetePlayer();
  mostraRaquete(xRaqueteOponente,yRaqueteOponente);
  movimentaRaqueteOponente();
   colisaoRaqueteBiblioteca(xRaquetePlayer,yRaquetePlayer);
    colisaoRaqueteBiblioteca(xRaqueteOponente,yRaqueteOponente);

  incluiPlacar();
  marcaPonto();

}

function mostraBolinha(){
  circle(xBolinha, yBolinha, dBolinha);
}

function movimentaBolinha(){
  xBolinha += velXBolinha;
  yBolinha += velYBolinha;
}

function verificaColisaoBorda(){
  if (xBolinha + rBolinha> width ||
     xBolinha - rBolinha< 0){
    velXBolinha *= -1;
  }
  if (yBolinha + rBolinha> height ||
     yBolinha - rBolinha < 0){
    velYBolinha *= -1;
  }
}

function mostraRaquete(x,y){
  rect(x,y,wRaquete,hRaquete);
}


function movimentaRaqueteOponente(){

  velYOponente = yBolinha - yRaqueteOponente - hRaquete/2 - 30 ;
  yRaqueteOponente +=  velYOponente + chanceErrar;


}

function movimentaRaquetePlayer(){
  if(keyIsDown(UP_ARROW)){
yRaquetePlayer += velYCimaPlayer;
  }
  if(keyIsDown(DOWN_ARROW)){
yRaquetePlayer += velYBaixoPlayer;
  }
}

function colisaoRaqueteBiblioteca(x,y){
 colidiu =  collideRectCircle(x,y,wRaquete,hRaquete,xBolinha,yBolinha,rBolinha);
  if(colidiu){
    velXBolinha *=-1
    raquetada.play();
  }
}

function incluiPlacar(){
  textAlign(CENTER);
  textSize(16);

  stroke(255);
  fill(color(255,40,0)); 
  rect(150,10,40,20);
  rect(450,10,40,20);  
  fill(255)//preencher com a cor branca
  text(meusPontos, 170, 26)
  text(pontosOponente, 470, 26)

}

function marcaPonto(){
  if(xBolinha>590){
    meusPontos += 1;
    ponto.play();
  }
  if(xBolinha<10){
    pontosOponente += 1;
    ponto.play();
  }
}

function calculaChanceDeErrar() {
  if (pontosOponente >= meusPontos) {
    chanceErrar += 1
    if (chanceErrar >= 39){
    chanceErrar = 40
    }
  } else {
    chanceErrar -= 1
    if (chanceErrar <= 35){
    chanceErrar = 35
    }
  }
}