Percentage of winning in PHP

-1

Hello, I'm creating a system of items on my site. Each item has a certain chance of winning.

For example, 0.01%

I would like to know how to do for PHP every time the user plays, try to earn some item with that percentage.

Type like this:

if(drop_item(0.01) == true) {
    echo "Você ganhou uma poção!";
} else {
    echo "Você não ganhou nada!";
}

If you knew how to do this with multiple items, with each item with a chance to win, I would be very happy :)

Thanks for your attention.

    
asked by anonymous 17.06.2018 / 20:23

1 answer

1

You can use the rand() function by passing a minimum and maximum value:

echo mt_rand(1, 10000); // Mostra um número entre 1 e 10000, por exemplo, 2634

If I'm not mistaken, 0.01% is 1 chance per 10,000, then:

if(mt_rand(1, 10000) === 1) {
    echo "Você ganhou uma poção!";
} else {
    echo "Você não ganhou nada!";
}

You can do a function that receives this percentage and convert:

function sortear($porcentagem) {
    return mt_rand(1, 100 / $porcentagem) === 1;
}

if(sortear(0.01)) {
    echo "Você ganhou uma poção!";
} else {
    echo "Você não ganhou nada!";
}

The function already returns true or false

    
17.06.2018 / 21:31