第二章二维游戏的编程技术-2.ppt

  1. 1、本文档共24页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
VC++游戏编程 第二章 二维游戏的编程技术 VC++游戏编程——游戏的编程技术 第九节 人工智能应用 一、移动型人工智能 移动型人工智能主要包括三类:固定模式移动、追逐移动、躲避移动。 固定模式移动 在程序里,我们给物体定义一个移动路径公式,物体就会按照这个公式来移动,这种方式就属于固定模式的移动。固定模式移动的设计重点在于为游戏中每一类移动路径类似的对象建立一个共享移动路径的结构,由此共享结构所声明的对象则拥有类似的移动方式,但通过设置不同的初始值,这些物体的移动路径就会有所不同。 2. 追逐移动 追逐移动最常见的情况是计算机怪物追逐玩家,算法如下: if(怪物X玩家X) 怪物X- -; else 怪物X++; if(怪物Y玩家Y) 怪物Y- -; else 怪物Y+ +; 对上面的算法作如下修改: if(怪物HP200) //生命值大于200时才追 { p=rand()%3; if(p!=1) // 余数不为1时进行追逐 { if(怪物X玩家X) 怪物X- -; else 怪物X++; If(怪物Y玩家Y) 怪物Y- -; else 怪物Y+ +; } else 怪物HP+=5; //怪物不动,休息补血 } 3. 躲避移动 if(怪物X玩家X) 怪物X++; else 怪物X- -; if(怪物Y玩家Y) 怪物Y++; else 怪物Y- -; 二、行为型人工智能 行为型AI的基本原理是物体会随着不同的情况而改变,并作出一些特有的行为动作,而这些物体可以包含游戏中的主角、怪物,或四周环境中的物品。 物体的动作行为 在游戏中加入AI,要预先想好一些可能会发生的状况和物体所要执行的动作,并利用if语句来让物体根据各种情况产生相应的行为。例如以一盏灯为例,它的行为只有两种:亮与不亮,但是使亮或不亮的情况有多种,如:停电了、电灯坏了、没按开关等等。考虑到这些情况后,我们就可以利用if语句来赋予一盏灯相应的行为型AI了。我们有如下算法: if(停电) 灯不亮 else { if(灯坏了) 灯不亮 else { if(没按开关) 灯不亮 else 灯亮 } } 假设一只怪物有以下几种行为: 普通攻击 施放攻击魔法 使劲全力攻击 补血 逃跑 我们可以编写如下算法 if(生命值100) { if(rand()%9) 实施魔法攻击 (1/10的几率使用魔法攻击) else 实施普通攻击 } else { swich(rand()%5) { case 0: 普通攻击 break; case 1: 魔法攻击 break; case 2: 使尽全力攻击 break; case 3: 补血 break; case 4:

文档评论(0)

wuyoujun92 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档