1
resposta

Entendi a lógica dos números 39, 40 e 35 na função

Estava quebrando a cabeça para entender esses números, mas acho que finalmente entendi. Se eu estiver errado por favor me corrijam, mas se eu estiver certo fica a resposta aqui para quem também ficou com essa dúvida.

yRaqueteOponente += velocidadeYOponente + chanceDeErrar

Essa linha na função de movimento do oponente descreve que o valor da chanceDeErrar vai alterar a posição Y da raquete inimiga para que ela erre a bola.

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

Quando o oponente fica com mais pontos do que eu, o programa vai começar a somar vários números 1 em sequência, então em poucos segundos a partir do momento que o oponente ficou com mais pontos, o programa vai ter somado 1 39 vezes. Cada ponto somado altera a posição Y da raquete inimiga, mas depois de vários segundos o valor já vai estaria na casa das centenas, por isso a limitação, dizendo que a partir do momento que passar de 39, vamos limitar o movimento do eixo Y em 40, o que já é suficiente para a raquete errar.

E mais abaixo temos o oposto, dizendo que se eu estiver com mais pontos, então comece a subtrair pontos da chanceDeErrar. Depois de alguns segundos, os 40 pontos acumulados vão reduzir e voltar para 35, nesse momento, a raquete vai se mover só 35 no eixo Y voltando a acertar a bola.

Esses valores que o professor passou estão tão acertados que mesmo com sua pontuação maior ainda tem a chance da bola deslizar e a raquete inimiga errar, por isso são os valores ideais para deixar o jogo mais divertido.

Se você mudar a segunda parte da função e deixar assim:

} else { chanceErro -= 1 if (chanceErro <= 0) { chanceErro = 0 } } }

Você vai perceber que quando sua pontuação ficar melhor a raquete inimiga não vai errar nunca mais, por que esses valores não dão margem para uma deslizada, deixando o jogo estagnado enquanto você estiver vencendo.

Espero ter ajudado, se alguém um dia achar números melhores por favor avise, eu também não estou gostando da forma como o jogo fica com os valores 39, 40 e 35, mas não consigo achar outros valores que não resultem num jogo paradão.

Abraços!

1 resposta

Olá, Ítalo! Como você está?

Gostaria de agradecer e parabenizar você pela explicação objetiva e direta. Muito didático, você tem jeito para instrutor : )

Continue com seus esforços e dedicação que irá longe na área de tecnologia!

Vou compartilhar seu post com outros colegas que tiverem a mesma dúvida!

Parabéns novamente e obrigada!!

Um abraço e bons estudos!