2
respostas

os pontos não estão contando quando ativos tds as funções

//variaveis bolinha

let xBolinha = 300; let yBolinha = 150; let diametro = 20; let raio = diametro / 2;

//velocidade da bolinha

let velocidadeXBolinha = 5; let velocidadeYBolinha = 5;

//variaveis da raquete

let xRaquete = 10; let yRaquete = 100 let raqueteComprimento = 10 let raqueteAltura = 90

//variaveis do oponente

let xRaqueteOponente = 580; let yRaqueteOponente = 100;

//placardo jogo

let meusPontos = 0; let pontosOponente = 0;

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

function draw() { background(0);

//funcoes

mostraBolinha(); movimentaBolinha(); verificaColisaoBorda(); mostrarRaquete(xRaquete, yRaquete); movimentoRaquete(); colisaoRaquete(); colisaoraqueteoponente (); mostrarRaqueteoponente (xRaqueteOponente, yRaqueteOponente); movimentaRaqueteOponente(xRaqueteOponente, yRaqueteOponente); 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 mostrarRaquete(x,y){ rect(x,y, raqueteComprimento, raqueteAltura);}

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

function movimentoRaquete()

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

function movimentaRaqueteOponente() { velocidadeyOponente = yBolinha - yRaqueteOponente - raqueteComprimento/2 - 50; yRaqueteOponente += velocidadeyOponente }

function colisaoRaquete() { if( xBolinha - raio < xRaquete + raqueteComprimento && yBolinha - raio < yRaqueteOponente + raqueteAltura && yRaqueteOponente + raio > yRaqueteOponente )

{ velocidadeXBolinha *= -1; } }

function colisaoraqueteoponente (){

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

} }

function incluiPlacar(){ stroke(255); textAlign (CENTER); textSize(30) fill (color(144,238,144)); rect(130, 10, 40, 40); fill(255); text(meusPontos, 150,40); fill (color(144,238,144)); rect(430, 10, 40, 40); fill(255); text(pontosOponente, 450, 40); }

function marcaPonto() {

if (xBolinha > 590){ meusPontos += 1; } if (xBolinha < 10 ){ pontosOponente += 1; } }

}

2 respostas

Boa noite amigo, o problema pode ser o pixel da sua tela do CANVAS que esteja diferente tente assim:

// veja que nesse momento ao invés de passar 590 eu passei 585 pra somar meus pontos, caso não de certo 585 va diminuindo até chegar no limite, só testando pra saber. if(xBolinha > 585){ meusPontos += 1; } // pra calcular os pontos do oponente eu utilizei a mesma mecanica, só que eu fui aumentando o pixel do meu CANVAS até o limite pra somar os pontos, comecei com 10 e depois aumentei até 15 e deu certo. if(xBolinha < 15){ pontosDoOponente += 1; }

bom dia

agradeço pela ajuda

mas o problema continua, eu ja fiz vários testes mudar, os limites, mudar a tela, as raquete de lugar, mas quando da certo ao toca na raquete tambem conta ponto caso contrario não da certo, quando travo o movimento das raquete ai conta o ponto normal, se libero o movimento das raquetes para de contar sendo que é o mesmo limite

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software