1
resposta

Mostra Raquete

Estou com problemas na questão do mostra raquete, Fala que a função mostraRaquete e mostraRaqueteOponente não está definida, segue abaixo

// variaveis Bola let xBolinha = 300; let yBolinha = 200; let diametro = 25; let raio = diametro / 2;

// velocidade Bola let velocidadeXbolinha = 6 let velocidadeYbolinha = 6 let raqueteComprimento = 10; let raqueteAltura = 90;

// variaveis raquete let xRaquete = 5; let yRaquete = 150;

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

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

let colidiu = false;

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

function draw() { background(0); mostraBolinha(); movimentaBolinha(); verificaColisaoBorda(); mostraRaquete(xRaquete,yRaquete); movimentaMinhaRaquete(); verificaColisaoRaquete(xRaquete, yRaquete); mostraRaquete(xRaqueteOponente, yRaqueteOponente);

} function mostraBolinha (){ 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(xRaquete,yRaquete) { rect(x,y,raqueteComprimento,raqueteAltura); } } function mostraRaqueteOponente(xRaqueteOponente,yRaqueteOponente) { rect(x, y, raqueteComprimento, raqueteAltura); }

1 resposta

Isso deve resolver seu problema:

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

function mostraRaqueteOponente(x,y) { rect(x, y, raqueteComprimento, raqueteAltura); }

Isso acontece porque você deve "dizer" para a function que ela receberá as variáveis X e Y no caso xRaquete e yRaquete e depois especificar onde ela irá alocar essas variáveis.

Dando uma olhada no seu código percebi que não é necessário criar duas functions. você pode simplesmente fazer como no código abaixo que continua funcionado e melhora a leitura do código ou pode passar os valores das variáveis direto ao invés de passar X e Y para a function.

mostraRaquete(xRaquete,yRaquete); 
mostraRaquete(xRaqueteOponente, yRaqueteOponente);

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

Primeiro chamamos a function "mostraRaquete" com as varáveis da sua raquete, em seguida a chamamos novamente mas dessa vez com as variáveis da raquete do oponente.

Abraço!