比如你要想在软件里附加一个彩蛋给用户玩,每次软件启动后只有5%的机率会触发这个彩蛋。那么怎么根据5%这个规定来知道某次是否触发呢?于是就有了下面这个函数:
bool GetBoolByProbability(int numOfHundred)
{
assert(numOfHundred >= 0 && numOfHundred <= 100);
return numOfHundred == 0 ? false : ((rand()%100)+1 <= numOfHundred);
}只要调用 GetBoolByProbability(5) 就能得到某次是否触发。为什么不在函数里加入 srand(time(0)) ? 这条语句比较适合放在在程序入口处(而不是随机函数中),不明白的可以自己做个实验对比看看。
本文介绍了如何在软件启动后以特定概率触发彩蛋功能的实现方法,通过自定义函数结合随机数生成来达到期望的概率触发效果。
1万+

被折叠的 条评论
为什么被折叠?



