1
resposta

Não consigo limitar as raquetes e esta contando os povos errado.

Utilizei o "constrain" para limitar a minha raquete e a do oponente, porém, dá erro, então decidi comentar a função e continuar o curso. Outrossim, apareceu erro na contagem de pontos também, contando de 3 em 3. Segue o código a seguir: https://editor.p5js.org/valenca_lele/sketches/7c0sEH-V1

1 resposta

Olá, Letícia! Parece que você está tendo alguns problemas com o jogo Pong em JavaScript, não é mesmo? Vamos ver se consigo te ajudar.

Pelo que entendi, você está com dificuldades em duas partes: limitar as raquetes e a contagem de pontos. Vou tentar te ajudar com cada uma delas.

  1. Limitar as raquetes: você mencionou que tentou usar a função "constrain" e ocorreu um erro. Infelizmente, sem ver o código completo ou o erro específico, fica um pouco difícil de identificar o problema. No entanto, uma maneira comum de limitar as raquetes seria verificar a posição da raquete em cada frame e, se ela estiver fora dos limites da tela, redefinir sua posição para o limite. Por exemplo:
if (yRaquete < 0) {
  yRaquete = 0;
}
if (yRaquete > height - alturaRaquete) {
  yRaquete = height - alturaRaquete;
}

Essa lógica poderia ser aplicada tanto para a sua raquete quanto para a do oponente.

  1. Contagem de pontos: pelo que entendi, a contagem de pontos está aumentando de 3 em 3. Isso pode estar acontecendo se a função marcaPonto() estiver sendo chamada mais de uma vez quando a condição é verdadeira. Uma solução possível seria adicionar uma flag para verificar se um ponto já foi marcado naquela jogada. Por exemplo:
let pontoMarcado = false;

function marcaPonto() {
  if (xBolinha > 590 && !pontoMarcado) {
    meusPontos += 1;
    pontoMarcado = true;
  }
  if (xBolinha < 10 && !pontoMarcado) {
    pontosDoOponente += 1;
    pontoMarcado = true;
  }
  if (xBolinha > 10 && xBolinha < 590) {
    pontoMarcado = false;
  }
}

Dessa forma, um ponto só será marcado uma vez por jogada.

Espero que essas sugestões possam te ajudar a resolver os problemas. Lembre-se, essas são apenas sugestões e podem precisar de ajustes para funcionar corretamente no seu código específico.

Espero ter ajudado e bons estudos!

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