Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

Contagem múltiplas entre a raquete e a parede =(

Fala galera, boa tarde! Tudo bem com vocês? Espero que sim.

Vamos lá, a minha bolinha não fica mais presa nos cantos, ao menos não consegui mais reproduzir esse bug, mas as vezes ela tem um comportamento, indo e voltando rapidamente contra a parede e a raquete, marcando assim vários, pontos.

Já repliquei algumas dicas encontradas, mas mesmo assim ainda continuou =/.

Estou deixando o meu código para essa análise, se alguém conseguir verificar o que seria e também pontuar, ficarei agradecido.

Há, implementei algumas cores diferentes e a famosa "váia" cearense quando sofro ponto e alterei a cor dos objetos e outros detalhes, espero que curtam.

Segue link do meu projeto para análise:

https://editor.p5js.org/C_Jean_1987/sketches/_BRu8qkT5

Vamos a luta e bons estudos.

2 respostas
solução!

Fala Jean, tudo bem? espero que sim.

Observando o seu projeto já deixo os meus parabéns pela criatividade, ficou muito divertido e além disso ressalto que essa é a melhor forma de aprender, quando você tenta explorar mais e mais formas de fazer algo, parabéns mesmo, adorei!

Mas o seu bug ele estar sendo bem recorrente aqui, não se sinta frustrado, quando eles vierem o nosso querido fórum é para isso mesmo.

Existe o erro de cálculo que pode ser tanto pelo p5.js ou um erro da biblioteca no qual não reconhece as laterais do retângulo aumentando o tamanho dele é possível ver que a bolinha entra sempre pelas “pontas” dele quase como se fosse invisíveis, de algum modo o erro está aí.

O gif mostra a tela de gameplay do jogo do aluno, nela contem: o cenário que é preto  com os seguintes detalhes em vermelhos, tais como o placar direito e esquerdo que fica ao topo da imagem dentro desse placares tem números eles são alterados conforme a partida. mas no momento da captura da imagem ambos placares estão zerados,  ao centro da tela temos um circulo que é conectado por uma grande barra que pega a tela toda, nos extremos laterais temos duas barras que se movimentam com o papel de impedir o toque da bolinha branca nas laterais, como uma espécie de goleiros ou raquetes. O gif fica em loop repentindo esta curta cena para sempre.

Mas utilizando uma forma já feita em seu código bolinhaNaoFicaPresa usei uma lógica que além de avisar quando fica presa o oponente não ganha pontos caso ocorra isso. ficando assim:


function bolinhaNaoFicaPresa(){
    if (xBolinha - raio < -6){
      console.log("bolinha prendeu")
      pontosDoOponente -= 1;
    xBolinha = 30
    }
}

Quanto a essa etapa acredito que encontrei parte do problema mas o jogo melhorou e está mais justo para o jogador que controla.

Outro erro que reparei é que suas raquetes, caso segure o dedo, elas vão para o “infinito e além” arrumei usando as seguintes funções.

function podeSeMover(){
  return yRaquete > -15;
}

function podeSeMover1(){
  return yRaquete < 350;
}

e depois chamei as mesma funções na function movimentaMinhaRaquete ficando assim:

function movimentaMinhaRaquete(){
  if (keyIsDown(UP_ARROW)){    
    if(podeSeMover()){
      yRaquete -= 10;
    }  
}  
  if (keyIsDown(DOWN_ARROW)){
    if(podeSeMover1()){
      yRaquete += 10;
    }      
  }
}

A lógica é a seguinte: a function podeSeMover caso retorne true ela permite a ação do if que é adicionar ou diminuir o valor do yRaquete com base no acionamento das teclas.

Jean espero que de alguma forma eu tenha te ajudado, bons estudos e como você disse “vamos a luta”. Um grande abraço e até mais.

Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓. Bons Estudos!

Bom dia! Por aqui está tudo em paz e continuará em paz, se Deus quiser. Espero que esteja tudo bem por ai também.

Desde já muito obrigado Victor pelas pontuações.

Realmente ficou muito melhor e consegui compreender o meu bug mencionado. Com um tempo estarei dando dicas também para quem estiver iniciando nesse mundo.

Bons estudos galera.