1
resposta

[Dúvida] Pontos nao contam corretamente

O lado do oponetente marca 1 ponto e depois disso, mesmo batendo na borda não contabiliza mais. Do outro lado está funcionando tudo normalmente.

1 resposta

Olá, Pedro!

Pelo que você descreveu, parece que o problema está na função marcaPonto(). Nela, você está verificando se a bolinha atingiu as bordas da tela para incrementar os pontos dos jogadores.

Aqui está a função que você deve ter no seu código:

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

Nesse caso, quando a posição X da bolinha é maior que 590, um ponto é adicionado aos seus pontos (meusPontos). Quando a posição X da bolinha é menor que 10, um ponto é adicionado aos pontos do oponente (pontosDoOponente).

Se o lado do oponente está marcando um ponto e depois disso não contabiliza mais, mesmo com a bolinha batendo na borda, pode ser que a posição X da bolinha não esteja sendo corretamente resetada após marcar o ponto.

Uma solução possível seria verificar se a bolinha atingiu a borda e, nesse caso, resetar sua posição para o centro da tela. Por exemplo:

function marcaPonto() {
    if (xBolinha > 590) {
        meusPontos += 1;
        xBolinha = 300; // resetando a posição X da bolinha
    }
    if (xBolinha < 10) {
        pontosDoOponente += 1;
        xBolinha = 300; // resetando a posição X da bolinha
    }
}

Dessa forma, após marcar um ponto, a bolinha voltará para o centro da tela e o jogo continuará normalmente.

Espero ter ajudado e bons estudos!