0

我正在开发一个游戏 AI,并使用一些随机数来使决策更加随机。我在用cocos2d::random()

我对当前random()函数的实验表明,如果我选择 10K 个样本,我会得到想要的结果。然而,在游戏中,不太可能选择这样的样本,这使得随机函数表现得不均匀。

所以,我的问题是是否有办法用更少的样本来提高随机函数的均匀性。

这是我如何使用该random()功能进行拍摄决策的示例:

if( mShouldRedecideCanShootDecision)
{
    mShouldRedecideCanShootDecision = false;

    int chance = randomInt(0, 100);

    // mistake is a floating point number in [0, 1] range
    int upTo = std::roundf( mistake * 100.f );

    mCanShoot = true;
    if(chance < upTo)
    {
        mCanShoot = false;
    }
}

randomInt()功能基于cocos2d::random()

// Max is inclusive
int randomInt(int min, int max)
{
    if(min > max)
    {
        std::swap(min, max);
    }

    return min + ( cocos2d::random() % (max - min + 1) );
}
4

0 回答 0