Olá, boa tarde, tudo bem?
Realizei a aula de Logica de programação, seguindo o paaso a passo do instrutor com a biblioteca, e funcionou 100%.
Quero praticar mais, e refiz todo o jogo do pong, sem utilizar biblioteca, finalizei até os placares funcionando, mas a colisão da bolinha com a raquete do oponente não consegui fazer funcionar, e o placar mesmo eu rebatendo com minha raquete, ele adiciona um ponto ao oponente...
Preciso de uma ajudinha, rs
O código está abaixo:
//Variaveis da bolinha. var yBolinha = 200; var xBolinha = 300; var DiametroBolinha = 25; var Raio = DiametroBolinha / 2;
//Variaveis da Velocidade da Bolinha. var VelocidadexBolinha = 4; var VelocidadeyBolinha = 4;
//Variaveis da raquete Esquerda var xRaqueteEsq = 15 var yRaqueteEsq = 200 var AlturaRaquete = 60; var LarguraRaquete = 10
//Variaveis Raquete Oponente. var xRaqueteOponente = 575 var yRaqueteOponente = 200 var VelocidadeYOponente;
//Placar do Jogo. var MeusPontos = 0 var PontosOponente = 0
//Função do Fundo do jogo function setup() { createCanvas(600, 400); } //Função da cor do nosso fundo e nossa movimentação da bolinha. function draw() { background(0); mostrabolinha(); movimentaX(); movimentaY(); colisaobordas(); RaqueteEsq(); MovimentaRaqueteEsq(); ColisaoRaqueteEsq(); RaqueteOponente(); MovimentaRaqueteOponente(); ColisaoRaqueteOponente(); IncluirPlacar(); PlacarOponente(); MeuPlacar(); }
//Função para mostrar a Bolinha. function mostrabolinha(){ circle (xBolinha,yBolinha,DiametroBolinha) }
//Função da movimentação em X da bolinha. function movimentaX(){ xBolinha += VelocidadexBolinha; } //Função da movimentação em Y da bolinha. function movimentaY(){ yBolinha += VelocidadeyBolinha; } //Função para conferir o toque nas bordas da bolinha. function colisaobordas(){ if (xBolinha + Raio > width || xBolinha - Raio < 0){ VelocidadexBolinha *= -1; } if (yBolinha + Raio > height || yBolinha - Raio < 0){ VelocidadeyBolinha *= -1; }}
//Função Raquete Esquerda function RaqueteEsq(){ rect (xRaqueteEsq,yRaqueteEsq,LarguraRaquete,AlturaRaquete) }
//Função para movimenta a raquete Esquerda em Y. function MovimentaRaqueteEsq(){ if (keyIsDown(UP_ARROW)){ yRaqueteEsq -= 10}; if (keyIsDown(DOWN_ARROW)){ yRaqueteEsq += 10}; } //Função para colidir a bolinha com a Raquete Esquerda. function ColisaoRaqueteEsq(){ if (xBolinha - Raio < xRaqueteEsq + LarguraRaquete && yBolinha - Raio < yRaqueteEsq + AlturaRaquete && yBolinha + Raio > yRaqueteEsq){ xBolinha *= -1; } } //Função para mostrar Raquete do oponente. function RaqueteOponente(){ rect (xRaqueteOponente,yRaqueteOponente,LarguraRaquete,AlturaRaquete) } //Função para movimentar a raquete do oponente, seguindo o Y da bolinha. function MovimentaRaqueteOponente(){ VelocidadeYOponente = yBolinha - yRaqueteOponente - AlturaRaquete / 2 - 5; yRaqueteOponente += VelocidadeYOponente } //Função para verificar a colisão da bolinha com a Raquete do Oponente. function ColisaoRaqueteOponente(){ if (xBolinha + Raio > xRaqueteOponente - LarguraRaquete && yBolinha - Raio > yRaqueteOponente - AlturaRaquete / 2 && yBolinha - Raio < yRaqueteOponente - AlturaRaquete / 2) { xBolinha *= -1;} } //Função para exibir e contabilizar o placar na tela do jogo. function IncluirPlacar(){ fill(255) text(MeusPontos,228,26,) text(PontosOponente,372,26) } function PlacarOponente(){ if (xBolinha - Raio < 1) PontosOponente += 1 } function MeuPlacar(){ if (xBolinha + Raio > 599) MeusPontos += 1 }