1
resposta

[Dúvida] do meu jeito!

logica de programação aula 04 criando raquete do oponente!

assim que a aula acabou tentei recriar o código, e percebi que não entendi direito a parte do movimento da raquete do oponente, aumentei o diâmetro da bola por conta de um bug dela entra atrás da raquete sempre que encostava na diagonal então na linha 4 foi de 20 para 30.e na linha 73 na função moveOponente eu fiz de um jeito que deu certo, mas não sei se vai funcionar quando o exercício avançar! veja como ficou meu código, estou apenas começando! também usei o width para marcaros pontos linha 87 obrigado e boa noite segue meu código!

//variaveis bolinha
let xBolinha = 300;
let yBolinha = 200;
let diametro = 30;
let raio = diametro / 2;

let velocidadeXBolinha = 6;
let velocidadeYBolinha = 6;

// variaveis raquete
let xRaquete = 5;
let yRaquete = 150;
let comprimentoRaquete = 10;
let alturaRaquete = 90;

// oponente
let xOponente = 585;
let yOponente = 150;

// pontos 
let meusPontos = 0;
let oponentePontos = 0;

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

function draw() {
  background(0);
  mostraBolinha();
  moveBolinha();
  bordas();
  mostraRaquete(xRaquete, yRaquete);
  moveRaquete();
  raquetada();
  mostraRaquete(xOponente, yOponente);
  moveOponente();
  raquetadaOponente();
  mostraPontos();
  marcaPontos();
}
function mostraBolinha(){
  circle(xBolinha, yBolinha, diametro);
}
function moveBolinha(){
  xBolinha += velocidadeXBolinha;
  yBolinha += velocidadeYBolinha;
}
function bordas(){
  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, comprimentoRaquete, alturaRaquete);
}
function moveRaquete(){
  if (keyIsDown(UP_ARROW)){
    yRaquete -= 10;
  }
  if(keyIsDown(DOWN_ARROW)){
    yRaquete += 10;
  }
}
function raquetada(){
  if (xBolinha - raio < xRaquete + comprimentoRaquete && yBolinha - raio < yRaquete + alturaRaquete && yBolinha + raio > yRaquete){
    velocidadeXBolinha *= -1
  }
}
function moveOponente(){
  yOponente = yBolinha -40;
}
function raquetadaOponente(){
  if (xBolinha + raio > xOponente && yBolinha -raio < yOponente + alturaRaquete && yBolinha + raio  > yOponente ){
      velocidadeXBolinha *= -1;
      }  
}
function mostraPontos(){
  fill(255);
  text(meusPontos, 235, 35);
  text(oponentePontos, 355, 35);
}
function marcaPontos(){
 if (xBolinha + raio > width){
   meusPontos += 1
 }
 if (xBolinha - raio < 0){
     oponentePontos += 1
 }
}
1 resposta

Olá, Adriano! Tudo bem?

Peço desculpa pela demora para respondê-lo.

Parabéns por tentar recriar o código e fazer suas próprias modificações! Isso é muito importante para o aprendizado. Sei que se manter esse espirito você se tornará um grande profissional.

Caso durante os seus estudos você tenha dúvidas ou problemas, recorra ao fórum, estaremos aqui para ajudá-lo.

Grande abraço e bons estudos!

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