首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网络游戏 >

怎么得到相对合理的事件发生概率

2012-03-27 
如何得到相对合理的事件发生概率我在做ai设计的时候对于npc的ai有这样一种处理.在条件1的时候30%概率发生

如何得到相对合理的事件发生概率
我在做ai设计的时候对于npc的ai有这样一种处理.

在条件1的时候   30%概率发生攻击   40%概率发生靠近   30%概率发生退后
在条件2的时候   70%概率发生攻击   10%概率发生靠近   20%概率发生退后.

现处理方式如下
int   num   =   getRand(0,10);//取,0到9之间的随机值
if(条件1)   {
    if(num   <   3)攻击
    else   if(num   <   7)靠近
    else   退后
}else

if(条件2)   {
    if(num   <   7)攻击
    else   if(num   <   8)靠近
    else   退后
}

但是实际上   这样的概率取得方式并不理想,多数情况下不能体现概率的含义,而num的值总是取得一定范围内浮动.而导致发生的事情是相对情况下是一定的.

请问有其他方式可以得到相对真是的概率么?

[解决办法]
这个getRand得到的随机数是平均分布的么?如果是,LZ的代码没有问题。

热点排行