1
resposta

Jogo PONG finalizado

link: https://cursos.alura.com.br/forum/topico-pronto-projeto-com-ajuste-diferente-no-bug-de-travar-bolinha-205069

Se você não quiser acessar o link rsrsrsr:

//variáveis da bolinha
let xBola = 300;
let yBola = 200;
let Bola = 25;
let raio = Bola / 2;

//velocidade da bolinha
let velocidadex = 5;
let velocidadey = 5;

// raquete
let xraque = 4;
let yraque = 150;
let craque = 10;
let hraque = 95;

let colidiu = false;

// 2raquete
let xraque2 = 586;
let yraque2 = 150;
let craque2 = 10;
let hraque2 = 95;

let colidiu2 = false;

//pontos
let pontos = 0;
let pontos2 = 0;

// sons
let raquesom;
let pontosom;
let trilhasom;

function preload(){
  trilhasom = loadSound('trilha.mp3');
  pontosom = loadSound('ponto.mp3');
  raquesom = loadSound('raquetada.mp3');
}

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

function draw() {
  background(0);
  visaobola();
  movibola();
  colibola();
  raquete();
  raquete2();
  moviraque();
  moviraque2();
  //coliraque();
  colisaominharaque();
  colisaominharaquete2();
  placarpontos();
  marcaPonto();

}

function visaobola() {
  circle(xBola,yBola,Bola)
}
function movibola() {
  xBola += velocidadex;
  yBola += velocidadey;
}
function colibola() {
  if (xBola + raio > width ||
      xBola - raio < 0) {
    velocidadex *= -1;
    }  
  if (yBola + raio > height || 
      yBola - raio < 0) {
    velocidadey *= -1;
  }
}
function raquete(){
  rect(xraque, yraque, craque, hraque);
}
function raquete2(){
  rect(xraque2, yraque2, craque2, hraque2);
}
function moviraque(){
  if(keyIsDown(87)){
    yraque -= 10;
  }
  if(keyIsDown(83)){
    yraque += 10; 
  }
}
function moviraque2(){
  if(keyIsDown(DOWN_ARROW)){
    yraque2 += 10;
  }
  if(keyIsDown(UP_ARROW)){
    yraque2 -= 10;
  }
}
function coliraque(){
  if (xBola - raio < xraque + craque 
      && yBola - raio < yraque + hraque // exemplo que o prof. deu
      && yBola + raio > yraque){
    velocidadex *= -1;
  }
}

function colisaominharaque(){
  colidiu =
  collideRectCircle(xraque, yraque, craque, hraque, xBola, yBola, raio);
  if(colidiu){
    velocidadex *= -1
    raquesom.play();
  }
}
function colisaominharaquete2(){
  colidiu2 =
    collideRectCircle(xraque2, yraque2, craque2, hraque2, xBola, yBola, raio);
  if(colidiu2){
     velocidadex *= -1;
     raquesom.play();
     }
}
function placarpontos(){
  textAlign(CENTER);
  textSize(16);
  fill(color(255,69,0));
  rect(130,10,40,20)
  fill(300);
  text(pontos, 150, 26);
  fill(color(255,69,0));
  rect(430,10,40,20);
  fill(300);
  text(pontos2, 450, 26);


}
function marcaPonto() {
    if (xBola > 585) {
        pontos += 1;
        pontosom.play();
    }
    if (xBola < 15) {
        pontos2 += 1;
        pontosom.play();
    }
}
1 resposta

Ol´pa, Barbara! Tudo bem?

Parabéns pela implementação!

Continue com foco nos estudos!

Avante!

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software