J2ME下环游(追逐)AI的实现[Java编程]
本文“J2ME下环游(追逐)AI的实现[Java编程]”是由七道奇为您精心收集,来源于网络转载,文章版权归文章作者所有,本站不对其观点以及内容做任何评价,请读者自行判断,以下是其具体内容:
作为游戏开辟者,要给玩家制造挑衅,只要使游戏的难度有所增添,使游戏中的假想仇人像玩家一样机警,一样具有人类的智慧和应变本领.这就需求利用一种计算机专业范畴新兴的一门科学AI(artificial intelligence,人工智能).
人工智能,作为一门新兴科学,人类思维的模拟是AI的主要研究范畴,也是难、热门之一.人类的思维是一个非常不肯定性的历程,要对其切确建模非常艰难.在我做的这个游戏中所利用的AI还很粗糙,是属于人工智能的底子性知识.游戏开辟专家将和游戏相关的AI划分为3种基本范例:
·环游AI——肯定一个游戏对象如安在一个虚拟的游戏世界中环游;
·行为AI——肯定跟踪或追逐在一个游戏对象或多个游戏对象背面的别一个游戏对象是多么具有攻击性;
·战略AI——在一个战略游戏中,从一组固定的实现定义的环游法则中肯定最佳的移动.
环游AI是射击类游戏最常见的AI办法,是对游戏对象建模的AI,也就是说,游戏对象做出决意,肯定它们如安在一个虚拟世界中环游.环游AI的一个典型的例子就是像Galaga的太空射击游戏,此中外星人常常试图跟踪和追逐玩家.一样,环游AI也用来实现按照预先定义的方法飞翔,发射子弹或射击的敌机.基本上,关于由计算机(或程序)掌握的对象,不管是它必须做出决意改变当前的途径,还是要游戏中实现需求的后果,大概只是简单地服从某种特定的移动方法,都要用到环游AI.在我做的这个游戏中,敌方飞机所需求的后果就是顺从某种移动方法,同时尝试和玩家的飞机发生碰撞并玩家生命值降低.在其他的游戏中,计算机玩家所需求的后果大概是避开人类玩家所发射的子弹.
实现环游AI普通对比简单,普通包含一个对象(玩家的飞机)的位置,改变别一个对象(仇人的飞机)的速度或位置.对象的环游移动也可以由随机的或预先定义的方法的影响.普通有3种范例的环游AI:追逐、躲避和情势.
追逐是这样一种环游:一个游戏对象跟踪或追逐别的一个游戏对象或多个游戏对象.追逐是很多射击类游戏所利用的一种办法,此中敌方飞机常常追逐玩家飞机.按照玩家飞船的位置,改变外星人的速度和位置,这就实现了追逐.
比方,我做的这个游戏中实现追逐的算法:
/*flag标志具有跟踪本领的小飞机*/
private int flag=-1;
for(int i=0;i<MAX_SP;i++)
if(smallPlane[i].isVisible())
{
if(i==flag)
{
if(smallPlane[i].getX()>playerSprite.getX())
smallPlane[i].move(-speedOfSP, speedOfSP);
else
smallPlane[i].move(speedOfSP, speedOfSP);
}
else
smallPlane[i].move(0,speedOfSP);
}
以上是“J2ME下环游(追逐)AI的实现[Java编程]”的内容,如果你对以上该文章内容感兴趣,你可以看看七道奇为您推荐以下文章:
本文地址: | 与您的QQ/BBS好友分享! |