1
resposta

Raquete do Oponente

Tudo certo!!!

https://editor.p5js.org/sintiaalmeida/full/cpMLejQ5q

//variáveis da bolinha
let xBolinha = 300;
let yBolinha = 200;
let diametro = 15;
let raio = diametro / 2;

//velocidade da bolinha
let velocidadeXBolinha = 6;
let velocidadeYBolinha = 6;
let raqueteComprimento = 10;
let raqueteAltura = 90;

//variáveis da raquete
let xRaquete = 5;
let yRaquete = 150;

//variáveis do oponente
let xRaqueteOponente = 585;
let yRaqueteOponente = 150;
let velocidadeYOponente;

let colidiu = false

//placar do jogo
let meusPontos = 0;
let pontosDoOponente = 0;

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

function draw() {
  background(0); //1 - Desenha o background
  mostraBolinha(); // 2 - Desenha a bolinha
  movimentaBolinha(); // 3 - Movimenta a bolinha
  verificaColisaoBorda(); // 4 - Verifica a colisão
  mostraRaquete(xRaquete, yRaquete); // 5- Desenha raquete
  movimentaMinhaRaquete(); // 5- Move a raquete
  //verificaColisaoRaquete();
  verificaColisaoRaquete(xRaquete, yRaquete);
  mostraRaquete(xRaqueteOponente, yRaqueteOponente);
  movimentaRaqueteOponente();
  verificaColisaoRaquete(xRaqueteOponente, yRaqueteOponente);
  incluiPlacar();
  marcaPonto();

}

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

function movimentaBolinha() {
  xBolinha += velocidadeXBolinha;
  yBolinha += velocidadeYBolinha;
}

function verificaColisaoBorda() {
  //se xBolinha tocar a borda
  if (xBolinha + raio > width ||
     xBolinha - raio < 0) {
    velocidadeXBolinha *= -1;
  }

  //se yBolinha tocar a borda
  if (yBolinha + raio > height ||
     yBolinha - raio < 0) {
    velocidadeYBolinha *= -1;
  }
}

function mostraRaquete(x,y) {
    rect(x, y, raqueteComprimento, raqueteAltura)
}

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

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

function verificaColisaoRaquete(x, y) {
  colidiu = collideRectCircle(x, y, raqueteComprimento, raqueteAltura, xBolinha, yBolinha, raio); 
  if (colidiu){velocidadeXBolinha *= -1;}
                                         }
function movimentaRaqueteOponente(){
  velocidadeYOponente = yBolinha -yRaqueteOponente -raqueteComprimento /2 -30;
  yRaqueteOponente += velocidadeYOponente
}

function incluiPlacar() {
    fill(255);
    text(meusPontos, 278, 26);
    text(pontosDoOponente, 321, 26);
}

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

Oi, Sintia! Tudo bem?

Parabéns pelo desempenho! A prática é super importante para a consolidação do conhecimento adquirido nas aulas assistidas. Para o melhor aproveitamento da experiência do curso, você pode compartilhar os seus códigos no Discord da Alura, onde há uma comunidade de alunos e alunas com o intuito de trocar experiências, aprendizados e dúvidas!

Para participar basta acessar a aba Comunidade e clicar em Discord Alura. Caso ainda não tenha o discord instalado em seu pc é só clicar no link, e seguir o passo a passo mostrado aqui, que além de ensinar como fazer a instalação do Discord, auxiliará você nos seus primeiros passos.

Outra maneira bastante interessante de compartilhar seu código é pelo LinkedIn, quando subir como projeto no Github.

Caso você tenha alguma dúvida em relação ao que é o GitHub e como utilizá-lo, a Alura tem alguns cursos e artigos que podem te ajudar, fica aqui a indicação de dois cursos e um artigo:

Um forte abraço e bons estudos!

Caso este post tenha te ajudado, por favor, marcar como solucionado ✓. Bons Estudos!