2
respostas

[Dúvida] Sem colisão com a Raquete do oponente

Fala Galera, estou criando oo jogo do pong, mas travei na colisão da raquete do oponente, conseguem me ajudar?

//variaveis da bolinha let xBolinha = 250; let yBolinha = 200; let diametro = 30;

//velocidade da bolinha let velocidadexBolinha = 6; let velocidadeyBolinha = 6; let raio = diametro / 2;

//variaveis da raquete let xRaquete = 5; let yRaquete = 150; let raqueteComprimento = 10; let raqueteAltura = 100;

//variaveis raquete oponente let xRaqueteOponente = 482; let yRaqueteOponente = 150; let oponenteComprimento = 10; let oponenteAltura = 100; let velocidadeyOponente = 40

//placar do Jogo let meusPontos = 0; let pontosOponente = 0;

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

function draw() { background(0); mostraBolinha(); movimentaBolinha(); verificaColisaoBorda(); mostraRaquete(); movimentoMinhaRaquete(); colisaoRaquete(xRaquete,yRaquete); mostraRaqueteOponente(); movimentoOponente(); colisaoRaqueteOponente(xRaqueteOponente,yRaqueteOponente); inclusaoPlacar(); marcadorPonto();

}

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() { rect(xRaquete, yRaquete, raqueteComprimento, raqueteAltura); }

function mostraRaqueteOponente() { rect(xRaqueteOponente, yRaqueteOponente, oponenteComprimento, oponenteAltura); }

function movimentoMinhaRaquete() { if (keyIsDown(UP_ARROW)) { yRaquete -= 10; }

if (keyIsDown(DOWN_ARROW)) { yRaquete += 10; } }

function movimentoOponente(){ velocidadeyOponente = yBolinha - yRaqueteOponente - oponenteComprimento /2-30; yRaqueteOponente += velocidadeyOponente; }

function colisaoRaquete(x,y) { if ( (xBolinha - raio < x + raqueteComprimento) & (yBolinha - raio < y + raqueteAltura) & (yBolinha + raio > y) ) { velocidadexBolinha *= -1; } }

function colisaoRaqueteOponente(x,y) { if ( (xBolinha - raio < x + oponenteComprimento) & (yBolinha - raio < y + oponenteAltura) & (yBolinha + raio > y) ) { velocidadexBolinha *= 1; } }

function inclusaoPlacar(){ fill(255) text(meusPontos,190,20); text(pontosOponente,270,20); }

function marcadorPonto(){ if (xBolinha > 485){ meusPontos += 1; } if (xBolinha < 15){ pontosOponente += 1; }

}

2 respostas

Olá Márcio !!!!!! compartilhe o link do seu projeto conosco!!! bons estudos!!

!

Opa!! Obrigado pela dica Romeu! Segue o meu projeto

https://editor.p5js.org/Pugnaloni2607/sketches/3RZjcD7vy