1
resposta

Possibilitando o erro da raquete do oponente

Na parte saiba mais me ocorreu algumas dúvidas no códico.

function calculaChanceDeErrar() {
  if (pontosDoOponente >= meusPontos) {
    chanceDeErrar += 1
    if (chanceDeErrar >= 39){
    chanceDeErrar = 40
    }
  } else {
    chanceDeErrar -= 1
    if (chanceDeErrar <= 35){
    chanceDeErrar = 35
    }
  }
}

Nao entendi a função do segundo if , sendo >= 39 a a chance de erra é igual a 40? Qual a função do else? Por fim, se chance de errar <=35, chance de errar = a 35? Nao entendi essas partes.

1 resposta

Olá, Igor, tudo bem?

Desculpe a demora em obter retorno.

A função calculaChanceDeErrar(), irá ajustar um bug do jogo pong que é quando o oponente nunca erra. Ela faz a verificação das pontuações, e caso o oponente esteja com uma pontuação maior que os meusPontos, será executada algumas instruções.

Vamos ao código:

function calculaChanceDeErrar() {
  if (pontosDoOponente >= meusPontos) {
    chanceDeErrar += 1
    if (chanceDeErrar >= 39){
    chanceDeErrar = 40
    }
  } else {
    chanceDeErrar -= 1
    if (chanceDeErrar <= 35){
    chanceDeErrar = 35
    }
  }
}

Repare que no começo do If ou do else incrementamos ou decrementamos 1 da chance de errar. Porém, mesmo que esse incremento ou decremento aconteça várias vezes durante o jogo, não queremos que o valor de chanceDeErrar seja menor do que 35 ou maior que 40, pois o jogo ficar fácil ou difícil demais. O valor 35 e 40 funciona como um limitador, tornando o jogo mais equilibrado.

Daí fazemos os testes internos, caso seja maior ou igual a 39, deixamos o valor fixo em 40 (para não ficar tão fácil). Caso seja menor ou igual a 35, deixamos o valor fixo em 35 (para não ficar tão difícil).

Espero ter ajudado.

Caso surja dúvidas, estou à disposição.

Abraços e bons estudos!

Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓. 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