Bom dia Carlos, tudo certo? Espero esteja tendo um bom dia!
Antes de tudo, obrigado pela paciência na espera da resposta.
Parabéns por concluir mais essa etapa da sua trajetória aqui na Alura, continue mergulhando cada vez mais na programação que estaremos aqui para te ajudar pro que der e vier!
Gostei muito de como elaborou seu código de modo a tornar possível um modo multijogador local e as raquetes ficassem contidas na tela, eu adoraria sugerir alguns pontos quanto ao seu código que podem te ajudar a melhorar ele ainda mais:
- Aumentar a velocidade da bolinha, nesse caso de
2
para 6
, tornaria o jogo mais rápido e emocionante;
- Retirar a função e a variável relacionada a
chance de erro
, como o nosso oponente é alguém que estará do nosso lado e não um robô não haverá uso para elas;
- Percebi que o jogador 1 tem vantagem de sempre marcar 2 pontos por vez, para deixar o jogo mais equilibrado para ambos o certo seria marcar 1 ponto por acerto, para isso precisamos fazer algumas alterações:
Pontos Duplos
Precisamos olhar primeiro para a função de marcar pontos, como são só os nossos pontos que estão duplicando vamos focar somente na parte dos meusPontos
:
function marcaPonto() {
if (xBolinha > 590) {
meusPontos += 1;
ponto.play();
}
A função funciona da seguinte maneira, assim que o eixo X da bolinha ultrapassa 590
os pontos começam a serem marcados.
Como a nossa tela do jogo tem 600x400
e o valor atribuído para começar a marcar ponto é um pouco longe da borda, podemos alterar este valor para um maior que a bola assim que passar dessa área, conte somente um ponto e já volte ao bater na borda.
Testando um bom número que encontrei foi 595
, com ele os pontos serão marcados de 1 em 1 para nós:
//Alteramos o valor da função marcar ponto de 590 para 595;
function marcaPonto() {
if (xBolinha > **595**) {
meusPontos += 1;
ponto.play();
}
Espero que isso tenha ajudado de algumas forma, se tiver qualquer dúvida ou necessitar de ajuda fique à vontade para usar o fórum, conte comigo se precisar!
Um bom dia e bons estudos!