1
resposta

(Aula 04 - Ex. 04) realizado

Olá,

Exercício concluído.

https://editor.p5js.org/rd_gomes23/sketches/SCmVix2fE

  //variáveis da dimensão da raquete
let cRaquete = 20
let hRaquete = 100

  //posição e velocidade da raquete oponente
let xOponente = 570
let yOponente = 100
let VelocidadeYOponente;

  //código da comunidade
let Colisao = false

  //posição da minha raquete
let xMinhaRaquete = 10
let yMinhaRaquete = 50

  //variáveis da bolinha
let xBolinha = 300;
let yBolinha = 200;
let Diametro = 30;
let Raio = Diametro / 2;

  //velocidade da bolinha
let VelocidadeXBolinha = 2;
let VelocidadeYBolinha = 2;

  //placar
let MeusPontos = 0;
let PontosOponente = 0;

function setup() {
  createCanvas(600, 400);
}

function draw() {
  background(0);
  MostraBolinhaERaquetes()
  MovimentaBolinha();
  VerificaColisao();
  MovimentaRaqueteOponente();
  MovimentarMinhaRaquete();
  VerificaColisãoRaquete();
  VerificaColisãoOponente();
  Placar();
  MarcarPontos();
}

function MostraBolinhaERaquetes(){ 
  circle(xBolinha, yBolinha, Diametro);
  rect(xOponente, yOponente, cRaquete, hRaquete)
  rect(xMinhaRaquete, yMinhaRaquete, cRaquete, hRaquete)
}

function MovimentaBolinha(){
  xBolinha += VelocidadeXBolinha;
  yBolinha += VelocidadeYBolinha;
}

function MovimentaRaqueteOponente(){
  VelocidadeYOponente = yBolinha - yOponente - cRaquete / 2 - 30;
  yOponente += VelocidadeYOponente
}

function VerificaColisao(){

  if (xBolinha + Raio > width || 
     xBolinha - Raio < 0){
    VelocidadeXBolinha *= -1;
  }
  if (yBolinha + Raio > height || 
     yBolinha - Raio < 0){
    VelocidadeYBolinha *= -1;
  }
}

function MovimentarMinhaRaquete(){
  if (keyIsDown(UP_ARROW)){
    yMinhaRaquete -= 10;
  }
  if (keyIsDown(DOWN_ARROW)){
    yMinhaRaquete += 10;
  }
}

function VerificaColisãoRaquete(){
  if (xBolinha - Raio < xMinhaRaquete + cRaquete && 
      yBolinha - Raio < yMinhaRaquete + hRaquete &&
      yBolinha + Raio > yMinhaRaquete){
  VelocidadeXBolinha *= -1;
  }
}

  //código da comunidade
function VerificaColisãoOponente(){
  Colisao = collideRectCircle (xOponente, yOponente, cRaquete, hRaquete, xBolinha, yBolinha,Raio);
  if (Colisao){
    VelocidadeXBolinha *= -1
  }
}

function Placar(){
  fill(255)
  text(MeusPontos, 278, 26);
  text(PontosOponente, 321, 26)
}

function MarcarPontos(){
  if (xBolinha > 585){
    MeusPontos += 1;
  }
  if (xBolinha < 15){
    PontosOponente += 1;
  }
}
1 resposta

Gostei bastante desse exercício. Nada melhor que aprender o conteúdo de maneira prática e com jogos!!