5
respostas

[Dúvida] Placar do jogo não funciona corretamente

Oi pessoal, estou com dificuldade para fazer o placar do jogo funcionar da maneira correta. Ao dar o play ele não contabiliza os pontos, nem os meus e nem os do oponente.

Tentei mudar os valores e até mesmo subtrair o raio da bolinha, mas ao invés de contabilizar 1 ponto de cada vez, ele acabar contando 3 ou 5 pontos ou contar os pontos assim que bate na raquete, e não na borda.

Segue o link para o meu código: https://editor.p5js.org/amandyka/sketches/oeLMgbXqT

5 respostas

Oi! Como a sua bolinha está um pouco maior, pela lógica, a área dela também aumenta um pouco com isso, assim modifiquei um pouco os pontos de verificação para que a área da bolinha conseguisse contabilizar o toque, segue a parte do código que modifiquei.

function marcaPonto(){
  if (xBolinha > 585){
    meusPontos += 1;
    ponto.play();
  }
  if (xBolinha < 15){
    pontosOponente += 1;
    ponto.play();
  }
}

Imagino que seja isso, espero ter ajudado!

Mudei os valores do xBolinha e deu certo:

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

mudei os meus valores do xBolinha e funcionou, muito obrigado.

esse foi o tamanho que eu coloquei da minha bolinha:

let xBolinha = 250;
let yBolinha = 200;
let diametro = 22;
let raio = diametro / 2;

e o tamanho da tela eu coloquei diferente do que ele tava fazendo:

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

Na hora que eu coloquei o código dele para contar os pontos, não tava pontuando. Coloquei um número bem abaixo para testar se eu tinha feito algo errado e ele começou a pontuar bastante. Então, ao invés de colocar a diferença entre 10 da borda (10 da borda esquerda e 490 da borda direita) eu coloquei 11, ficando: (11 da borda esquerda e 489 da borda direita):

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

você pode tentar algo parecido, espero ter ajudado.

Oi gente, fiz um teste e ficou muito bom assim. Amanda, se ainda está com o problema, experimente assim. Deixe a bolinha com 20 de diâmetro.

function marcaPonto ( ) {
  if (xBolinha > 590 ) {
    meusPontos  +=  1;
    ponto.play ( ) ;
  }
  if (xBolinha < 10) {
    pontosOponente  +=  1;
    ponto.play ( ) ;
  }
}

Bons estudos!!