当前位置: 首页 > news >正文

任县网站建设设计网站优化关键词价格

任县网站建设设计,网站优化关键词价格,视频网站开发与制作,哪些网站建设公司一、介绍 有限状态机是一个用来进行对象状态管理的计算模型。它由一组状态、一个或者多个触发事件以及状态之间的转换条件所组成。 对于任意一个游戏对象,我们可以为其编写一个或者多个状态机,使其能够在不同状态下有不同的决策和运作机制。 核心思想…

一、介绍

有限状态机是一个用来进行对象状态管理的计算模型。它由一组状态、一个或者多个触发事件以及状态之间的转换条件所组成。

对于任意一个游戏对象,我们可以为其编写一个或者多个状态机,使其能够在不同状态下有不同的决策和运作机制。

核心思想主要是:

  1. 拥有多种状态
  2. 仅处于多种状态的其中之一
  3. 状态之间能够互相切换

 

二、有限状态机的基本制作步骤

  1. 创建一个类作为状态的基类(一般是抽象类)
  2. 在状态基类中编写方法(建议是抽象方法,比如OnEnter、OnMove、OnExit等,你也可以根据开发需求来自行定义 )
  3. 创建状态的子类(也就是要继承状态的基类),这时候你就需要实现对应的抽象方法。在这里,你可以创建多个子类(比如敌人高于50%的血量的时候的状态,敌人低于50%的血量的时候的状态......)
  4. 创建状态子类的实例(一个或者多个),并定义一个状态基类对象(不需要实例化)
  5. 根据状态的不同,状态基类对象引用不同的状态子类的实例(可以通过一个枚举enum来给状态类型做一个分类,然后通过一个字典Dictionary将枚举成员和状态子类实例一对一地存储起来,当需要的时候,就可以直接通过字典将其赋予给状态基类对象
  6. 通过状态基类对象来调用自身的方法,从而实现有限状态机。

三、代码示例

下面这段代码演示了一个基本的有限状态机写法。

using System;
namespace ConsoleApp1
{internal class Program{static void Main(string[] args){//定义基类对象MyAction myAction;//定义并实例化子类对象AngryAction angryAction = new AngryAction();NormalAction normalAction = new NormalAction();//引用 angryAction 对象myAction = normalAction;myAction.Speak();myAction.Run();//引用 normalAction 对象myAction = angryAction;myAction.Speak();myAction.Run();Console.ReadKey();}}//行为基类public abstract class MyAction{public abstract void Speak();public abstract void Run();}//子类:生气时候的行为public class AngryAction : MyAction{public override void Run(){Console.WriteLine("很生气地跑");}public override void Speak(){Console.WriteLine("很生气地说话");}}//子类:平常时候的行为public class NormalAction : MyAction{public override void Run(){Console.WriteLine("很平常地跑");}public override void Speak(){Console.WriteLine("很平常地说话");}}}

四、个人的一些理解

我个人理解的有限状态机的思想,就是“调用的是同一个方法,最终执行效果却有所不同”。在上述的代码当中,我只是给基类对象切换了对子类对象的引用,但是调用“相同”的方法,结果不一样。这就方便我们在游戏开发当中对某个游戏对象的状态管理和控制。

http://www.tj-hxxt.cn/news/8593.html

相关文章:

  • 美食推荐网站模板做外贸推广
  • 品辰设计的网站谁做的it培训机构哪个好一点
  • 郑州做网站公司 汉狮网络关键词的分类和优化
  • 石家庄营销推广网站石家庄新闻
  • 政府网站建设工作自查友链交换
  • 网页设计模板html代码盒子单页网站排名优化
  • 有什么兼职做it的网站上海职业技能培训机构
  • 网站改备案庆云网站seo
  • 南宁做网站培训软文案例大全300字
  • 网站搭建图片搜索引擎优化师工资
  • 网站广审怎么做宣传推广方式有哪些
  • 网站里面的超链接怎么做seo排名快速上升
  • 自助式建站平台知乎seo排名帝搜软件
  • 电商网站经营性备案媒体代发布
  • 网站建设的安全可行性搜索引擎优化推广
  • 制作一个有用户网站简短的营销软文范文
  • 河北省住房和城乡建设厅 网站seo关键词排名技术
  • 网站如何做宣传推广广告点击一次多少钱
  • 南昌网页制作叶涛网站推广优化
  • 网站开发的技术简介是什么竞价托管就选微竞价
  • 电力大学临港校区建设网站seo网络推广排名
  • 做医药商城网站的公司持续优化完善防控措施
  • 网站日均ip过万怎么做seo霸屏软件
  • 南宁怎么做网站seo深度优化公司
  • 小程序app定制开发系统报价北京seo如何排名
  • 网站开发怎样手机号验证苹果cms播放器
  • 网络科技公司 网站建设竞猜世界杯
  • 网站设计制作的介绍网页制作教程书籍
  • 好用的网站开发编辑器精准网络营销推广
  • 商业设计网站有哪些app下载注册推广平台