Preciso de uma fórmula

6 respostas
P

Oi, meu problema é o seguinte…
Eu tenho uma porcentagem de vitória.
Eu preciso dar um prêmio baseado na minha porcentagem de vitória, então imagina que vou jogar na MegaSena e minha porcentagem de vitória é 100%
certo então eu DEVO ganhar na mega sena, mas caso seja 1% deverá ser muito difícil, 0% impossível, e 99% quase impossível não ganhar.
E o que eu preciso é uma fórmula para decidir se deve ou não dar o prêmio.
Estava fazendo com números randômicos, mas não me parece o jeito certo, e até porque se tiver 99% ou 100% não é certo que a pessoa irá ganhar e a diferença entre os dois é quase nula…
Espero que algúem tenha algo em mente obrigado =D

6 Respostas

guilherme.oq

Cara… você começou a fazer alguma coisa?? Porque assim, ainda não peguei a idéia do programa que você quer… :?
Tente explicar com mais detalhes o que você informa para o programa, e quais as possíveis respostas após ele ler a porcentagem… saka?

Se você já fez alguma coisa… mesmo que esteja incompleto poste aqui ok?

*Se for um exercício de faculdade… poste a pergunta… :idea:

Pelo menos um auxílio a galera aki te dá…
flws…

C

Gere um numero aleatório entre 0 e 100
se ele for maior do que (100 - Porcentagem de acerto) significa que você ganhou na megasena

tpmarc

gera o numero, como o post acima falou…

entre 0 e 100. dado que tua porcentagem é x, se o numero for maior que x, ele perde.

se tua porcentagem for 100 e ele so gera numeros até 100, entao ele ganha.

P

Opa =D, certo entao eu fiz assim

private boolean Leveling() { increaceLP(); int number = r.nextInt(100); int percent = c.WeaponGameLP; return number >= 100 - percent; }
Fico ± porque quase sempre que a porcentagem esta acima de 50% eu passo de nivel, so que foi muito bom agora tenho uma base
Edit:
Bem, meio que dobrei a dificuldade fazendo

private boolean Leveling() { increaceLP(); int number = r.nextInt(100); int number2 = r.nextInt(100); int percent = c.WeaponGameLP; return (number > 100 - percent) && (number2 > 100 - percent); }
To pensando em deixar assim mesmo ai vou dificultar na hora de ganhar a porcentagem =D obrigado pela ajuda ai

ViniGodoy

Cuidado que o que você fez gera um comportamento esponencial na dificuldade.

Ou seja, com 80 de dificuldade ele, terá apenas 4% de taxa de acerto.
Com 50 de dificuldade, ele terá 25% de taxa de acerto.
E com 20 de dificuldade, ele terá 64% de taxa de acerto.

Dê uma lida nesses artigos do gama sutra, vão te ajudar:
Plundering the Seas of Probability
Statistically Speaking, It’s Probably a Good Game, Part 1: Probability for Game Designers
Statistically Speaking, It’s Probably a Good Game, Part 2: Statistics for Game Designers

Também vale a pena ler, do mesmo autor o artigo Anatomy of a Game Mechanic.

É muito importante entender o que se está fazendo, assim você evita comportamentos inesperados no seu jogo. Por exemplo, você achou que ia dobrar a dificuldade, quando na verdade, está associando um comportamento inesperado nessa sua fórmula.
Com o que você fez, você vai notar que percentuais fáceis continuarão muito fáceis, e percentuais mais difíceis irão beirar o impossível.

Ajustar esses parâmetros, entender como eles funcionam, ajudam você a fazer o balanceamento correto do seu gameplay, sem perder horas e horas com tentativas e erros frustradas. Também irá te ajudar a entender qual comportamento esperar no long run, e quantos dados você deve amostrar para se certificar que seus parâmetros estão corretamente amostrados (ou seja, será que essa foi só uma “upada de sorte?” Quantos lvs vc deveria upar, em quantos chars diferentes, para ter certeza de que os valores estão dentro do esperado?).

P

Nossa obrigado pela sua atenção =D, vou dar uma olhada nos artigos, eu tinha modificado meu jeito de calcular se deve ou não upar, acho que ficou melhor só não sei se está 100% correto :p, por sinal a uns meses atraz dei uma olhada no seu site, muito bom =D

Criado 12 de fevereiro de 2011
Ultima resposta 13 de fev. de 2011
Respostas 6
Participantes 5