1
resposta

MEU PONG COMPLETO

//variáveis da Bolinha 
var xBolinha = 300;
var yBolinha = 200;
var diametro = 20;
var raio = diametro/2;

var velocidadeXBolinha = 6;
var velocidadeYBolinha= 6;

//Variáveis da minha Raquete
var xRaquete = 5;
var yRaquete = 150; 
var larguraRaquete = 10;
var alturaRaquete = 90;

//Variáveis do Oponente
var xRaqueteOponente = 585; 
var yRaqueteOponente = 150;
var velocidadeYOponente;

// Variáveis placar jogo
var meusPontos = 0;
var pontosOponente = 0;

// Sons do jogo
var colisao;
var ponto;
var trilha;

function preload(){

  trilha = loadSound("trilha.mp3");
  ponto = loadSound("ponto.mp3");
  colisao = loadSound("raquetada.mp3")
}

var colidiu = false; 


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

function draw() {   
  background(0);

  mostraBolinha();
  movimentaBolinha();
  verificaColisaoBorda();
  mostraRaquete(xRaquete, yRaquete);
  mostraRaquete(xRaqueteOponente, yRaqueteOponente)
  movimentaMinhaRaquete();
  //verificaColisaoRaquete()
  verificaColisaoRaquete(xRaquete,yRaquete);
  verificaColisaoRaquete(xRaqueteOponente, yRaqueteOponente);
  movimentaRaqueteOponente();
  incluiPlacar();
  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, larguraRaquete, alturaRaquete)
}

function movimentaMinhaRaquete(){
  if(keyIsDown(UP_ARROW)){
    yRaquete -= 10;
  }if(keyIsDown(DOWN_ARROW)){
    yRaquete += 10;
  }
}

function verificaColisaoRaquete(){
  if(xBolinha - raio < xRaquete + larguraRaquete && yBolinha - raio < yRaquete + alturaRaquete && yBolinha + raio > yRaquete){
    velocidadeXBolinha *= -1
  }
}

function verificaColisaoRaquete(x,y){
  colidiu = collideRectCircle (x,y,larguraRaquete,alturaRaquete,xBolinha, yBolinha,raio);
    if(colidiu){
      colisao.play();
      velocidadeXBolinha *= -1
    }
}

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

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

  stroke(255)
  fill(color(255,140,0));
  rect(130, 10, 40, 20);
  fill(color(255,140,0));
  rect(430,10, 40, 20);
  fill("white")
  text(meusPontos, 150,26);
  fill("white")
  text(pontosOponente, 450,26)

}

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

}


1 resposta

Bom dia!

Sua resolução ficou excelente! Você fez um ótimo uso do aprendizado.

Parabéns pelo empenho nos estudos e continue praticando.

Para que mais pessoas consigam visualizar a sua solução proposta, é recomendado que você marque este tópico como solucionado. Assim pode ajudar ainda mais pessoas :)

Bons estudos!