Pikachu
Pokébip Pokédex Espace Membre
Inscription

Pokébip, ou le haut-lieu du kikoololisme
de CheveuxFous

                   



Si vous trouvez un contenu choquant, vous pouvez contacter la modération via le formulaire de contact en PRECISANT le pseudo de l'auteur du blog et le lien vers le blog !

» Retour au blog

Programme en C: calcul de probabilité de rencontre
Voilà un petit programme qui permet de calculer le pourcentage de rencontre d'un pokémon après x combat sans le voir, utile quand vous cherchez à attraper un pokémon rare ou même un shiny (mais faut être fou), il suffit juste de connaitre le pourcentage de rencontre au départ.
Par exemple, pour Hexagel, il a 1% de chances d'apparaitre au mont foré (PKMN Blanc/Noir). Et bah vous utilisez le programme ainsi:
./pkmn 1
et vous obtenez:
combat 10, pourcentage:10
combat 22, pourcentage:20
combat 35, pourcentage:30
combat 51, pourcentage:40
combat 68, pourcentage:50
combat 90, pourcentage:60
combat 119, pourcentage:70
combat 158, pourcentage:80
combat 225, pourcentage:90
combat 528, pourcentage:100

ce qui signifie qu'au 10eme combat, il à 10% de chances d'apparaitre au moins une fois, au 22eme 20%, au 35eme 30%, etc.
Savoir combien de match au maximum on va devoir se taper pour trouver ledit Pokémon, je vous assure que ça aide à patienter^^ (bon là 528 match, vous serez morts avant^^)
Donc voilà, pour ceux que ça intéresse et qui aurait du mal à faire fonctionner le programme, faites le moi savoir ;)

Le programme:

/*
** main.c for truc in /u/all/gayfis_c/public/
**
** Made by cagri gayfish
** Login <toubla_g@epitech.net>
**
** Started on Wed Mar 16 21:59:49 2011 cagri gayfish
** Last update Thu Mar 17 00:43:04 2011 cagri gayfish
*/


#include <stdio.h>
#include <stdlib.h>
#include <math.h>

int main(int ac, char **av)
{
int i;
float pc;
float res;
int npc;
int test;

if (ac == 2)
{
pc = atoi(av[1]);
pc = 100 / pc;
i = 0;
res = 0;
npc = 0;
test = 10;
while (npc != 100)
{
res += pow(((pc-1)/pc), i) * (1/pc);
npc = round(100 * res);
if (npc >= test)
{
printf("combat %d, pourcentage:%d\n", i+1, npc);
test += 10;
}
i++;
}
}
else
printf("Usage: ./pkmn PERCENT.\n");
return (0);
}

P.S: sur ce site je peux pas indenter mon code, mais bon évidemment qu'en temps normal il l'est hein^^
Article ajouté le Samedi 19 Mars 2011 à 18h04 | |

Commentaires

Chargement...