游戏AI 随机移动

比起将对象沿着直线移动更进一步,就是随机移动目标。说实话,随机运动在某些情况下可以被认为是无脑运动。我们就试着用代码来模拟一下苍蝇的大脑(我们姑且认为苍蝇飞行是无脑的)。
这里我们会用到 rand 随机函数,这个写过代码的人都知道吧 ~
随机飞行就是随机改变苍蝇在 X 轴和 Y 轴上的速度值。所以代码如下:
 
x_velocity = -8 + rand()%16;
y_velocity = -8 + rand()%16;
 
x_velocity和y_velocity就分别代表苍蝇在X轴和Y轴上的速度。是不是非常简单?然后你就可以用上一章介绍的直线运动的代码来对苍蝇进行坐标移动
 
x = x + x_velocity;
y = y + y_velocity;
 
但这样的代码实际显示效果不太好,会让苍蝇看起来在一个点上发抖。因为苍蝇总会在一个方向上运动一段时间。所以,为了模仿的真实性,我们可以将以上这段代码包裹在一个WHILE语句中,让苍蝇在一个方向上多运动一会儿。
 
int count = 0;
while(++count < 10){
x = x + x_velocity;
y = y + y_velocity;
}
 
这里有一位大师写的苍蝇AI程序,你可以下载看看效果。你只需要关注其中的Flys_AI函数即可。
 
       这章课程就到这里了,也相当简单吧?不过毕竟是无脑运动,虽然这对于模拟智能生物行为是非常重要的。下一章会教给你跟踪算法。想象一下跟踪导弹的威力吧~哈哈。快翻开下一章的面纱吧~
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值