游戏设计:AI的基本移动模式

时间:2011-08-10 栏目:java技术 阅读:0 作者:宏鹏教育宏鹏光谷校区

  移动模式 (Pattern Movement) 是制造只能行为的简单方式。

  比如说,早期的飞机射击游戏,很多的飞机从屏幕的上方出现,然后,对你发射子弹,而且对于你出现在不同的地方而做出不同的动作。这些方式就是利用移动模式算法做出来的。

  标准算法:

  这个是运动模式算法使用控制指令来指示计算机控制的角色,在每轮游戏循环中如何运动,每当循环运行一轮时,数组将编入索引值,以便处理下一组新的移动指令。

  控制指令数据结构:

  ControlData{

  double turnRight;

  double turnLeft;

  double stepForward;

  double stepBackward;

  }

  其中, turnRight 和 turnLeft 是存放右转或者左转的角度值。

  stepForward 和 stepBackward 是向前或者向后的距离。

  这个控制结构也可以包含其他指令,比如:开火、丢炸弹等等。

  然后在游戏程序中初始化模式数组。

  Pattern[0].turnRight = 0;

  Pattern[0].turnLeft = 0;

  Pattern[0].stepForward = 2;

  Pattern[0].stepBackward = 0;

  Pattern[1].turnRight = 0;

  Pattern[1].turnLeft = 0;

  Pattern[1].stepForward = 2;

  Pattern[1].stepBackward = 0;

  Pattern[2].turnRight = 10;

  Pattern[2].turnLeft = 0;

  Pattern[2].stepForward = 0;

  Pattern[2].stepBackward = 0;

  Pattern[3].turnRight = 10;

  Pattern[3].turnLeft = 0;

  Pattern[3].stepForward = 0;

  Pattern[3].stepBackward = 0;

  Pattern[4].turnRight = 0;

  Pattern[4].turnLeft = 0;

  Pattern[4].stepForward = 2;

  Pattern[4].stepBackward = 0;

  Pattern[5].turnRight = 0;

  Pattern[5].turnLeft = 0;

  Pattern[5].stepForward = 2;

  Pattern[5].stepBackward = 0;

  Pattern[6].turnRight = 0;

  Pattern[6].turnLeft = 10;

  Pattern[6].stepForward = 0;

  Pattern[6].stepBackward = 0;

  ……

  ……

  如果按照这个模组来行动,那么就应该是一个先前进 2 个单位,再向前 2 个单位,然后右转 10 度,右转 10 度,然后前进 2 个单位,前进 2 个单位,然后左转 10 度,左转 10 度。这就是简单是蛇行运动。

  运行模式数组:

  void GameLoop(void)

  {

  ……

  Object.orientation += Pattern[CurrentIndex].turntRight;

  Object.orientation -= Pattern[CurrentIndex].turnLeft;

  Object.x += Pattern[CurrentIndex].stepForward;

  Object.x -= Pattern[CurrentIndex].stepBackward;

  CurrentIndex++;

  ……

  }

专业老师指导

赵老师

赵老师

从事IT教育培训十年有余,致力于帮助广大学子找到适合自己的专业

立即在线咨询

培训咨询客服

陈老师

陈老师

IT培训专业客服,用自己的真诚解决了无数学子的困惑

立即在线咨询

热门课程任你选,成长蜕变看的见

课程余量有限,即将截止报名!查看详情