近半年都忙于做项目,没有太多的时间去整理和总结在项目中用过的技术
个人还是觉得技术需要总结提炼和沉淀的,忙到没时间去总结提升其实不
是什么好事,这次讲下状态机,在战斗类型的游戏中角色有多种不同的状态,
而状态的切换错综复杂,23种设计模式中有一种模式叫做状态模式,不过
这种模式是把状态切换条件放到各个具体的状态中,算是硬编码到代码逻辑
中吧,接下来会有7篇关于状态机的文章出来,现在已经写好了demo,从
最初的设计,演化,提炼,到最后实现一个可以轻松扩展的版本,在最后一
篇文章中会把demo工程的下载链接提供出来,希望对其他人有所帮助,
这里为什么标题是状态机0,因为这里不会涉及到代码部分,主要是讲一些
偏概念性的东西,包括:状态,有限状态机,事件
状态:指物质系统所处的状况,由一组物理量来表征。
通俗点说,如战斗场景中的怪,有攻击状态,待机状态,行走状态,中毒状态
有限状态机:是一个设备,或者是一个设备模型,具有有限数量的状态,它可以
在任何给定的时间根据输入进行操作,使得从一个状态变换到另一个状态,或者
是促使一个输出或者一种行为的发生。一个有限状态机在任何瞬间只能处在一种状态。
通俗点说就是有限状态机内部封装了状态的切换,根据外部事件去切换状态。
事件:事件是可以被对象识别的操作