2017-12-10战斗有限状态机FSM
来源:互联网 发布:反转二叉树 js 编辑:程序博客网 时间:2024/05/19 04:51
1.https://www.processon.com/
在线做流程图
2.FSM:状态变化导致行为变化
有限的行为
有外部、内部的触发,造成转变
转变告诉给AI,AI去执行
AI执行后,反作用回状态,同步
3.可扩展性的代码
先罗列行为:巡逻Patrol、追逐Chase、攻击Attack、死亡Dead
抽离共性:FSMState父类,上面4个继承父类
单独给个类:AdvanceManager,对4个行为进行整体的管理,它控制4个行为的转换
从4个状态到AdvanceFSM,是“”管理“”关系
这个单独的类,继承自AIControl,它挂在到游戏对象上
能不能把AdvanceFSM,提一个父类FSMBase出来:
在接到一个模块和功能时,先做下面的设计:
如果增加一个状态5:ChangeBullet换子弹
很容易扩展了;利于维护;实现功能的前提下,考虑结构;
同理:界面MVC设计,都可以用设计图
---------------
什么是有限状态机?状态的转换函数
好处:简单、高效、易于扩展、模块化处理
一定要考虑清楚,转换为什么,转换的条件;
案例:Patrol巡逻,可能发现玩家了,转为Chase追逐
还可能被攻击没生命了,转为Dead
Chase追逐,可能追上了,开始Attck
可能没追上丢失了,回到Patrol
还可能被攻击没生命了,转为Dead
Attack,对方丢了,打死对方,Patrol
对方跑或其他玩家仇恨值最高了,Chase,“放风筝”
被还击,Dead
Dead,Destroy
“”发现玩家“”就是状态。Chase等,就是行为;状态驱动行为;用枚举来定义状态、行为;枚举写在管理里面,AdvanceFSM
通过“字典”来对应状态和行为,存储转换过程;
针对策略游戏,分为行为层、策略层;是多个FSM
---------------
http://img.blog.csdn.net/20151229191202225
- 2017-12-10战斗有限状态机FSM
- 2017-12-12战斗有限状态机FSM -第三天
- 2017-12-11战斗有限状态机FSM -第二天
- 2017-12-14战斗有限状态机FSM -第四天
- FSM 有限状态机
- 有限状态机(FSM)
- 有限状态机/FSM
- FSM有限状态机
- 有限状态机(FSM)初探
- 简单有限状态机(FSM)
- 有限状态机FSM的理解
- Go语言 有限状态机FSM
- boost 有限状态机(FSM)
- 有限状态机FSM的理解
- 有限状态机编程FSM
- 有限状态机(FSM)
- Verilog FSM 有限状态机
- Unity3D-FSM有限状态机
- eclipse spring环境搭建
- AutoCAD .Net 绘制临时图形
- java validation 后台参数验证
- unity+action使用函数作为传参(匿名函数)
- js浏览器截图
- 2017-12-10战斗有限状态机FSM
- 小学期实践
- Ciclop开源3D扫描仪软件---Horus源码分析之point_cloud_roi.py
- C/C++ --IO小程序附带运行过程 & get()函数解析
- 《机器学习实战》——2.k-近邻算法(KNN )函数总结
- JSP+MVC基础知识
- 蓝桥杯 算法提高 8-1因式分解
- Git详细使用教程
- 语音识别的前端处理