跳转至内容
  • 欢迎
  • 版块
  • 最新
  • 标签
  • 热门
  • 用户
  • 群组
皮肤
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • 默认(不使用皮肤)
  • 不使用皮肤
折叠
品牌标识

Hellclient 社区

  1. 主页
  2. Script脚本
  3. 深入浅出制作全自动Mud机器人-用户队列

深入浅出制作全自动Mud机器人-用户队列

已定时 已固定 已锁定 已移动 Script脚本
机器人全自动范例代码
1 帖子 1 发布者 18 浏览
  • 从旧到新
  • 从新到旧
  • 最多赞同
回复
  • 在新帖中回复
登录后回复
此主题已被删除。只有拥有主题管理权限的用户可以查看。
  • jarlyynJ 离线
    jarlyynJ 离线
    jarlyyn
    写于 最后由 编辑
    #1

    简而言之,用户队列,就是指令队列在用户输入框里的实现。

    核心部分,之前都是纯代码层与用户无关的基础建筑,到了这里才算得上是上层建筑。

    先看代码

    代码地址

    我们会发现,用户队列,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
    

    虽然这种用户队列只能实现简单的,没有复杂任务的机器,但这是真正意义上的全自动机器人了。

    甚至可以认为,用户队列的稳定性,等以你机器的主体的稳定性。

    因此,用户队列对于主任务系统是一个独立的,迷你的系统。

    但对于用户手动操作,以及机器的测试开发来说,还是有很大的意义的。

    1 条回复 最后回复
    • jarlyynJ jarlyyn 在 引用了 此主题
    回复
    • 在新帖中回复
    登录后回复
    • 从旧到新
    • 从新到旧
    • 最多赞同


    • 登录

    • 没有帐号? 注册

    • 登录或注册以进行搜索。
    Powered by Herbrhythm.
    • 第一个帖子
      最后一个帖子
    0
    • 欢迎
    • 版块
    • 最新
    • 标签
    • 热门
    • 用户
    • 群组