AI 人工智能 探索 (十)

呼叫事件图形结构如下

蓝色代表 警察局 红色代表警察 黄色代表 死亡人 蓝色球代表呼救人 黑色代表 敌人

警察目标是 攻击 黑色人,但 路中 会碰到 黄色人,如果警察有 救人功能 则会先救人去医院再看 是否 还有敌人攻击。如果没救人技能 则 按照默认打 黑色人

我设计的 思路是,先由 PeopleManager中的 人物求救,当然 这图只有警察,应该会有 其他求救者。然后

SendMessageUpwards 给 最上层 PoolManager 类,告诉他 需要 救人还是需要救火 或打人 或等等

PoolManager 负责 整理 接收到的信息,去掉冗余。因为 同一件事 可能会 多次 呼救,我们只要执行一次处理命令就可。

去掉冗余后的 信息,PoolManager会分析出 是 哪个 部门管的,也就是 下面的 几个子类。

然后 派发给他们。比如 打敌人是 警察厅管理,救人是 医院管理。相应派发出去。

警察厅 接到 消息后,会 分派到 各个警察局,相当于车间一样。分派方式,也是根据 每个警察局的 任务空闲度来处理。

警察局 接到 任务。注意,他 不会 派发给  警察。他会登记在 警察局黑板上,也就是 保存起来。

该 警察局的 警察 看到 黑板后,就 全队出发执行 第一条 任务,执行完成 就去做第二件任务。因为不是派发方式,所以很时时。

如果  去执行 打人的 任务时,有一个警察 发现 附近房子起火,他 正好有 救火的 技能,那么他会执行 救火任务。

所以,大家能看到  呼叫模式 和  检索模式 合用 的好处。呼叫是把众多固定要执行的事情,归类分派给每个部门,检索好处是,

不需要 所有场景人物事情检索, 只要 在自己的部门 检索任务 执行,且时时更新任务。

代码量有点大,下一章节 ,会贴代码。期待吧

时间: 2024-08-27 17:57:46

AI 人工智能 探索 (十)的相关文章

AI 人工智能 探索 (四)

在写之前,先对昨天寻路插件再做一些补充,因为该插件不是很完善,所以当我发现有不能满足需求的时候,就会试图更改源代码,或增加接口来符合我的需求. 昨天补充了一条是 自身转向代码,今天补充另外一条,是及时改变路向.我们发现原始插件改变路向,必须要等角色到达目标点才能再做改变,我们在ai中希望是,当目标点改变,角色在半道就要改变新方向. 好了,解决该问题的方法很简单,只需要如下方法 public void OnStopFind() { m_bNavRequestCompleted = true; }

AI 人工智能 探索 (三)

三类子弹的设计 using UnityEngine; using System.Collections; public class AI : AssembleModel { private Hashtable table; private Transform target; void Start() { table = new Hashtable(); target = Spawner("Target");//单个创建 } void Update() { //方向 Vector3 mo

AI 人工智能 探索 (五)

我们把做好的 角色 拖到 内存池,如图所示,这样我们可以动态生成角色并给予他 寻路目标. //逗留碰撞 void OnTriggerStay(Collider other) { if (other.transform.name == otherName) { //检测距离 float distance = Vector3.Distance(this.transform.position, other.transform.position);//距离公式 //根据距离 发射子弹, if (this

AI 人工智能 探索 (六)

这次我为 角色 attribute 添加了 多个属性 其中 att 是 好人 坏人 等属性, 显然 数字不同 就要打起来. grade 是智商属性 ,今天先做了 3的智商.也就是小兵智商.碰到就打 逃也要追着打 distance 是 可攻击距离 ,如果两个物体超过了 这个距离 就继续移动 小于这个距离就打 其他三个不解释,都能理解 private Transform otherTransforms;//碰撞对方 private bool track = true;//是否 可以 追踪 priva

AI 人工智能 探索 (七)

我简单画了一幅图,来讲下 ai 中的设计模式.图形中的这些人物,我想大家都能看的明白. 当 盗贼出现,人们发现了他们,就 呼叫 主类,然后主类再  通知 下面对应的管理局,然后管理局再 分配人手过去 处理.当然红叉表示受伤,他呼叫的是 医院,没有受伤的,呼叫的是  警察局. 有人问,为什么不 直接 让 人 呼叫 医院或 警察局.反而通知 主类,再通知下面.因为,如果医院 有多个,以后还可有其他同类行增加,那么作为人呼叫具体地点的医院,显然不是很合理.有了以上这个呼叫模式,我们的ai就可以敲定如何

AI 人工智能 探索 (九)

链接:http://pan.baidu.com/s/1c0AM3g0 密码:uccw 今天补充 创建物体 移动物体 ,当点击创建后 ,会出来一个 上图的 ui,他跟随 物体,当你把物体拖动到 指定的地方,可以按 勾,也可以按× 取消他.物体间 碰撞 会返回原地.代码自己看吧,都是之前 讲到的 一些技术,下一篇 继续 补充代码.

AI 人工智能 探索 (一)

碰撞检测 //逗留碰撞 void OnTriggerStay (Collider other) { if (other.transform.name == name) { //检测距离 //根据距离 发射子弹, } } private bool peng = false;//和目标物体发生碰撞没有 private string name;//目标 //进入碰撞 void OnTriggerEnter (Collider other) { table.Add (other.transform.na

AI人工智能时代即将来临,是什么要先行一步?

在2018年"全连接大会"上,最触动人心的一刻,无疑是万物互联未来畅想:而作为万物互联的核心便是"人",而万物互联的所要发挥的极致作用也就是充分解放"人"的机械属性,而充分发挥人的不可替代的创造性价值.无论是算法.算力还是模型训练,自动化功能及应用,自动更新与人才稀缺等十大改变中的任一一项改变都基于一个基础--协同. 协同并不是同样.统一的重复,而是犹如一个新产品的整体生命周期,不同的人的角色不同,参与新产品的生命周期的节点也不同,但都是始于同一

从大数据技术变迁猜一猜AI人工智能的发展

目前大数据已经成为了各家互联网公司的核心资产和竞争力了,其实不仅是互联网公司,包括传统企业也拥有大量的数据,也想把这些数据发挥出作用.在这种环境下,大数据技术的重要性和火爆程度相信没有人去怀疑. 而AI人工智能又是基于大数据技术基础上发展起来的,大数据技术已经很清晰了,但是AI目前还未成熟啊,所以本文就天马行空一下,从大数据的技术变迁历史中来找出一些端倪,猜一猜AI人工智能未来的发展. 最近断断续续的在看<极客时间>中「 从0开始学大数据 」专栏的文章,受益匪浅,学到了很多.尤其是非常喜欢作者