1
resposta

Raquete do Oponente não movimenta

Boa tarde!

Raquete do Oponente não movimenta, algu

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

// variaveis velocidade bolinha
let velocidadexBolinha = 6;
let velocidadeyBolinha = 6;

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

// variaveis raquete oponente
let xRaqueteOponente = 585;
let yRaqueteOponente = 150;
let velocidadeydooponente;


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

function draw() {
  background(0);
  mostrarbolinha ();
  movimentabolinha ();
  verificacolisaoborda ();
  mostraraquete (xRaquete, yRaquete);
  movimentaminharaquete ();
  verificacolisaoraquete ();
  mostraraquete (xRaqueteOponente, yRaqueteOponente);
  movimentaraquetedooponente;
  } 
function mostrarbolinha (){
  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, comprimentoRaquete, alturaRaquete);
}
function movimentaminharaquete (){
  if (keyIsDown(UP_ARROW)){
    yRaquete -= 10;
}
 if (keyIsDown (DOWN_ARROW)){
    yRaquete +=10;
  }
}
function verificacolisaoraquete (){
  if (xBolinha - raio < xRaquete + comprimentoRaquete && yBolinha - raio < yRaquete + alturaRaquete && yBolinha + raio > yRaquete){
    velocidadexBolinha *= -1;
  }

}
function movimentaraquetedooponente (){
  velocidadeydooponente = yBolinha - yRaqueteOponente - comprimentoRaquete / 2 - 30; yRaqueteOponente += velocidadeydooponente
}
1 resposta

Olá, Priscila! Tudo certo por aí?

Quando desejamos fazer a chamada de uma função, precisamos digitar o nome que atribuímos a ela, bem como abrir e fechar parênteses.

Ao fazer a chamada de movimentaraquetedooponente dentro da função draw(), não foram utilizados os parênteses. Sendo assim, após adicioná-los, chegaremos no seguinte resultado:

function draw() {
  background(0);
  mostrarbolinha();
  movimentabolinha();
  verificacolisaoborda();
  mostraraquete(xRaquete, yRaquete);
  movimentaminharaquete();
  verificacolisaoraquete();
  mostraraquete(xRaqueteOponente, yRaqueteOponente);
  movimentaraquetedooponente(); // os parênteses foram adicionados aqui!
}

Para somar aos seus estudos, deixo como dica de leitura um artigo super interessante acerca da padronização de variáveis. Quando estamos desenvolvendo um programa, é importante o uso de convenções afim de melhorar o entendimento, a legibilidade e as manutenções do nosso código.

Para acessar o artigo da Alura, basta clicar no link abaixo:

Convenções de nomenclatura: Camel, Pascal, Kebab e Snake case

Fico à disposição para te auxiliar da melhor maneira possível, caso surjam dúvidas ao decorrer dos seus estudos.

Abraços e até mais, Priscila!

Caso este post tenha lhe ajudado, por favor, marcar como solucionado! ✓.