WEB开发网
开发学院软件开发Java J2ME下漫游(追逐)AI的实现 阅读

J2ME下漫游(追逐)AI的实现

 2009-10-12 00:00:00 来源:WEB开发网   
核心提示: 使追逐算法变得更加平和的一种方法就是,在过程中加入一点随机性,J2ME下漫游(追逐)AI的实现(3),我做的这个游戏使用的是这样一种方法: /*有跟踪能力的小飞机的出现具有随机性*/x=(int)(random.nextInt()%3);if(x==0){flag=i;//flag标记具有跟踪能

使追逐算法变得更加平和的一种方法就是,在过程中加入一点随机性,我做的这个游戏使用的是这样一种方法:

/*有跟踪能力的小飞机的出现具有随机性*/
x=(int)(random.nextInt()%3);
                    if(x==0)
                    {
                      flag=i;// flag标记具有跟踪能力的小飞机
                    }
  break;

在这段代码中,敌人飞机只有三分之一的机会能够跟踪玩家。即便只有三分之一的机会能够追逐到玩家,敌人飞机还是对玩家具有攻击性,而这也使玩家能够争取逃脱的机会。

在漫游AI中,还有一个分类,即是按照预先定义的方式飞行,发射子弹或射击的敌方机体。在我做的这个游戏中,敌机由计算机(程序)来进行控制,几乎敌机的所有行为均由程序控制。

对于逃避、模式漫游戏AI,行为AI我做的这个游戏中没有具体的实现,所以只是简单地进行介绍(可以参看《J2ME手机游戏编程入门》第三部分,第13章)。逃避AI在逻辑上与逃避AI是相对的,即敌机试图躲避玩家飞机的射击。和追逐一样,逃避也可以使用随机方法或者模式移动来减缓。比如逃避的一个经典例子是Pac-Man。模式移动指得是游戏对象使用一组预定义的移动的一种漫游AI类型。模式移动的典型例子是经典街机Galaga中的外星人,它们在屏幕上表演各种各样的漂亮的特技飞行。模式包括圆圈,八字形等等。

AI的另外一大类是行为AI,它常常是一组混和漫游AI算法赋予游戏对象特定的地为。比如敌方机体有时候追逐,有时候躲避,并且每次交替时间都是随机的。常常在实现中,先定义几种行为:追逐、躲避、按某模式飞行或随机飞行,并且可以上述行为分配时间百分比,如50%追逐,10%躲避,40%随机飞行等。实现行为AI的伪码可以这样表示。

int behavior=Math.abs(rand.nextInt())%100;
if(behavior<50)
//追逐
else if(behavior<60)
//躲避
else
//随机飞行

最后一种AI类型即是策略AI,这种AI机制常常在棋牌类,益智类游戏中比较常见。

出处:http://gaochaojs.blog.51cto.com/812546/187540

上一页  1 2 3 

Tags:JME 漫游 追逐

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接