1
resposta

Criando a raquete sem a biblioteca

//variáveis da bolinha let xBolinha = 300; let yBolinha = 200; let diametro = 15; let raio = diametro / 2 ;

//velocidade da bolinha let velocidadeXBolinha = 6; let velocidadeYBolinha = 6;

//variáveis da raquete let xRaquete = 5; let yRaquete = 150; let raqueteComprimento = 10; let raqueteAltura = 90;

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

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

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

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

}

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

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

function verificaColisaoRaquete(){ if (xBolinha - raio < xRaquete + raqueteComprimento && yBolinha - raio < yRaquete + raqueteAltura && yBolinha + raio > yRaquete){ velocidadeXBolinha *= -1; } }

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

function movimentaRaquenteOponente (){ velocidadeYOponente = yBolinha - yRaqueteOponente - raqueteComprimento / 2 - 30; yRaqueteOponente += velocidadeYOponente }

function incluiPlacar(){ fill(255); text(meusPontos, 278, 26); text(pontosDoOponente, 321, 26)

}

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

1 resposta

Olá, Evellyn!!! Tudo bem?

Excelente resolução! Parabéns pelo empenho, essa implementação é essencial para consolidação do seu aprendizado! Sua solução funcionou perfeitamente:

function movimentaRaquenteOponente (){
  velocidadeYOponente = yBolinha - yRaqueteOponente - raqueteComprimento / 2 - 30;
  yRaqueteOponente += velocidadeYOponente
}

A aplicação da lógica para o lado oposto ficou excelente!! Continue com essa iniciativa e foco que irá longe em sua jornada de desenvolvimento!!

Deixo aqui apenas uma sugestão para melhor aproveitamento da plataforma, você pode usar botão inserir bloco de código para deixá-lo bem formatado. Há um tutorial muito bom aqui nesse tópico: Tópico para uso do bloco inserir código

Um abraço e bons estudos!

Caso este post tenha resolvido sua dúvida, por favor, marque o tópico como solucionado ✓.Bons Estudos!