状态机和命令模式的融合

一:有限状态机 有限状态机是构成游戏机制的核心要素,对于主角玩家,须要基于状态机操控,对于AI控制单位,须要状态机来控制。 状态和状态机的设计能够参考这里git

状态设计: http://git.oschina.net/liyonghelpme/rongYaoDaLuCode/blob/master/com/liyong/AIState.cs?dir=0&filepath=com%2Fliyong%2FAIState.cs&oid=c516631f7bb3eb9fc96d5e43c17f4ff9afc430cf&sha=bca220d4f0a01b2e201440556ea8968c3d0aad91函数

状态机设计: http://git.oschina.net/liyonghelpme/rongYaoDaLuCode/blob/master/com/liyong/StateMachine.cs?dir=0&filepath=com%2Fliyong%2FStateMachine.cs&oid=cf02c0448c7b931666b07f32ba2b39873debebbc&sha=bca220d4f0a01b2e201440556ea8968c3d0aad91.net

一个状态机中的某个状态能够有多种实现,经过断定前置条件,来选择合适的状态。设计

二:命令模式 命令相似于一种小语言,用于描述和游戏业务相关的逻辑,一种简单的命令设计,经过空格符号来分割不一样的命令单元。 例如 "op arg1 arg2" 这样一个字符串,经过在命令缓冲区中存放这些字符串,来序列化业务逻辑。3d

一个命令缓冲区的设计: http://git.oschina.net/liyonghelpme/rongYaoDaLuCode/blob/master/com/liyong/CommandHandler.cs?dir=0&filepath=com%2Fliyong%2FCommandHandler.cs&oid=06917459889661fbbb907eee5b3d36cdd09d7f68&sha=bca220d4f0a01b2e201440556ea8968c3d0aad91游戏

三:融合两者: 经过状态机向命令缓冲区注册处理函数,当有新的命令压入到缓冲区的时候,就会调用状态机的处理函数,根据新的命令能够执行切换状态等一系列动做。字符串

相关文章
相关标签/搜索