1
resposta

Meu resultado até agora

Como não quis copiar da biblioteca do Github o código para a colisão da bolinha tive mais dificuldade para finalizar, mas meu código ficou assim até o momento:

https://editor.p5js.org/jess-asilva/sketches/ugVgffEBo

// variáveis da Bolinha let xBolinha = (300); let yBolinha = (200); let diametro = (20); let raio = diametro / 2;

// variáveis da Raquete let xRaquete = (5); let yRaquete = (140); let larguraRaquete = (10); let comprimentoRaquete = (100);

//variáveis da Raquete do Oponente let xRaqueteOponente = (585); let yRaqueteOponente = (140);

// velocidade da Bolinha let velocidadeXBolinha = 3; let velocidadeYBolinha = 3;

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

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

function draw() { background(20); desenhoBolinha (); movimentaBolinha (); verificaColisaoBorda (); desenhoRaquete (xRaquete, yRaquete); movimentaMinhaRaquete (); colisaoRaquete (); desenhoRaquete (xRaqueteOponente, yRaqueteOponente); movimentaRaqueteOponente (); colisaoRaqueteOponente (); mostraPlacar (); marcaPontos (); }

function desenhoBolinha () { 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 desenhoRaquete (x,y) { rect (x, y, larguraRaquete, comprimentoRaquete); }

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

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

function colisaoRaquete () { if (xBolinha - raio < xRaquete + larguraRaquete && yBolinha + raio > yRaquete && yBolinha - raio < yRaquete + comprimentoRaquete) { velocidadeXBolinha *= -1 } }

function colisaoRaqueteOponente () { if (xBolinha + raio > xRaqueteOponente && yBolinha + raio < yRaqueteOponente + comprimentoRaquete && yBolinha + raio > yRaqueteOponente) { velocidadeXBolinha *= -1 } }

function movimentaRaqueteOponente () { yRaqueteOponente = yBolinha - comprimentoRaquete / 2 - 30 }

function mostraPlacar () { fill (255) text (meusPontos, 258,26) text (pontosDoOponente, 341, 26) }

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

Foi uma experiência muito desafiante. Estou feliz por ter conseguido.

1 resposta

Olá, Jessica! Tudo bem com você?

Excelente, testei aqui e está ficando ótimo!

Parabéns pelo seu desempenho, continue praticando! É comum ter dificuldade em certas partes do estudo, faz parte da sua jornada na programação, tenho certeza que vai muito longe.

Um forte abraço, estamos à disposição em caso de dúvidas!