深入浅出制作全自动Mud机器人-用户队列
Script脚本
1
帖子
1
发布者
18
浏览
-
简而言之,用户队列,就是指令队列在用户输入框里的实现。
核心部分,之前都是纯代码层与用户无关的基础建筑,到了这里才算得上是上层建筑。
先看代码
我们会发现,用户队列,Userqueue,是在Command包下的一个很简单的实现。
用队列相对于指令队列,就是额外的实现了一下的内容
- Exect方法,把用户的输入分割为多个指令执行
- Do和Wait的默认方法,实现最常见的发送指令和等待时间的功能(其实是Command中相应功能的封装)
- Register指令,注册新的指令扩展功能
- Loop指令,循环执行
很明显,用户队列提供了一个让用户直接调用Command的接口,更重要的是,可以循环执行。
当我们把准备阶段也注册为指令时,可以通过#prepare和#loop循环,形成一个简陋板的任务,一个字面意义上的全自动机器人。
比如,打坐机器人
#prepare|yun recover|dazuo 50|#loop比如,练功
#prepare|yun recover|wield long sword|lian sword 50|#loop虽然这种用户队列只能实现简单的,没有复杂任务的机器,但这是真正意义上的全自动机器人了。
甚至可以认为,用户队列的稳定性,等以你机器的主体的稳定性。
因此,用户队列对于主任务系统是一个独立的,迷你的系统。
但对于用户手动操作,以及机器的测试开发来说,还是有很大的意义的。
-
J jarlyyn 在 引用了 此主题