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

[Projeto] Atividade desenvolvida

Muito bom ver o desenvolvimento do jogo.

//criação da bola
let xBolinha = 300;
let yBolinha = 200;
let dBolinha = 13;

//movimentação da bolinha
let velocidadexBolinha = 6;
let velocidadeyBolinha = 6;
let raio = dBolinha/2;

//criação da raquete
let xRaquete = 5
let yRaquete = 150
let cRaquete = 10
let aRaquete = 90

//criação da raquete do oponente
let xRaquete2 = 585
let yRaquete2 = 150
let vRaquete2

//criação do placar
let meusPontos = 0
let pontosDoOponente = 0

//sons do jogo
let raquetada;
let ponto;
let trilha;

let colidiu = false;
let chanceDeErrar = 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()
  velocidadedabolinha()
  verificacolisao()
  mostraRaquete(xRaquete, yRaquete)
  mostraRaquete(xRaquete2, yRaquete2)
  movimentaRaquete()
  movimentaRaquete2()
  //verificaColisaoRaquete()
  colisaoRaquete(xRaquete, yRaquete)
  colisaoRaquete(xRaquete2, yRaquete2)
  incluiPlacar()
  marcaPonto()
  calculaChanceDeErrar()
  }

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

function velocidadedabolinha(){
  xBolinha += velocidadexBolinha;
  yBolinha += velocidadeyBolinha;
}

function verificacolisao(){
  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, cRaquete, aRaquete)
}

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

function movimentaRaquete2(){
  vRaquete2 = yBolinha - yRaquete2 - cRaquete/2 -88
  yRaquete2 += vRaquete2 + chanceDeErrar
  calculaChanceDeErrar()
}

function verificaColisaoRaquete() {
    if (xBolinha - raio < xRaquete + cRaquete
        && yBolinha - raio < yRaquete + aRaquete
        && yBolinha + raio > yRaquete) {
        velocidadexBolinha *= -1;
    }
}

function colisaoRaquete(x, y) {
    colidiu = collideRectCircle(x, y, cRaquete, aRaquete, xBolinha, yBolinha, raio);
    if (colidiu) {
        velocidadexBolinha *= -1;
      raquetada.play()
    }
}

function incluiPlacar(){
  stroke(255)
  textAlign(CENTER)
  textSize(15)
  fill(color(255,45,0))
  rect(150, 10, 40, 20)
  fill(7851);
  text(meusPontos, 170, 26);
  fill(color(255,45,0))
  rect(450, 10, 40, 20)
  fill(200)
  text(pontosDoOponente, 470, 26);
}

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

function calculaChanceDeErrar() {
  if (pontosDoOponente >= meusPontos) {
    chanceDeErrar += 1
    if (chanceDeErrar >= 39){
    chanceDeErrar = 40
    }
  } else {
    chanceDeErrar -= 1
    if (chanceDeErrar <= 35){
    chanceDeErrar = 35
    }
  }
}
1 resposta
solução!

Oi, Lucas! Tudo bem?

Parabéns pelo projeto, excelente desempenho! Espero que tenha gostado do curso!

Ter um contato prático com a programação por meio de um projeto, como o jogo de Pong, nos ajuda a assimilar melhor os conhecimentos adquiridos e a conseguir visualizar o que podemos fazer com esse conhecimento.

Para auxiliar os seus estudos, deixo como indicação um curso complementar, que tem como prática o projeto de mais um jogo super interessante:

Caso tenha ficado alguma dúvida, fique a vontade para expor, estou à disposição para ajudar.

Um forte abraço e bons estudos!

Caso este post tenha te ajudado, por favor, marcar como solucionado ✓