发帖
充值
 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
16 0

关于状态机--本人搬运工

综合讨论 11115 16 2022-1-24 13:55:11
之前遇到了状态机问题,看了几个视频,现附上源码。   


Unit = {
State = {},  --状态
Param = {},   --参数
}

Unit.State.Name = ""  --写在代码前作为定义全局

-----------状态机
function ProcessState(processState,processStateTable,processStateParam)
    if processState[processStateTable] ~= nil then
        return processState[processStateTable](processStateParam)
    end
    return "Error"
end

-----------状态机主函数
function main()
    Unit.State.Name = "Text"---初始状态
    while true do                     --状态组    --状态名           --状态参数
        Unit.State.Name = ProcessState(Unit.State,  Unit.State.Name,  Unit.Param[Unit.State.Name])
        print("当前状态:"..Unit.State.Name)
    end
end


Unit.Param.Text = {
}

function Unit.State.Text()
sleep(500)
return "Text"--这里尤为重要,使用状态机需要return任务本身。b站某松鼠视频里有讲到
end


main()

使用道具 举报

2022-1-24 14:03:02
  1. Unit = {
  2. State = {},  --状态
  3. Param = {},   --参数
  4. }

  5. Unit.State.Name = ""  --写在代码前作为定义全局

  6. -----------状态机
  7. function ProcessState(processState,processStateTable,processStateParam)
  8.     if processState[processStateTable] ~= nil then
  9.         return processState[processStateTable](processStateParam)
  10.     end
  11.     return "Error"
  12. end

  13. -----------状态机主函数
  14. function main()
  15.     Unit.State.Name = "Text"---初始状态
  16.     while true do                     --状态组    --状态名           --状态参数
  17.         Unit.State.Name = ProcessState(Unit.State,  Unit.State.Name,  Unit.Param[Unit.State.Name])
  18.         print("当前状态:"..Unit.State.Name)
  19.     end
  20. end


  21. Unit.Param.Text = {
  22. }

  23. function Unit.State.Text()
  24. sleep(500)
  25. return "Text"--这里尤为重要,使用状态机需要return任务本身。b站某松鼠视频里有讲到
  26. end


  27. main()
复制代码
2022-1-25 14:42:44
您好,请问下b站某松鼠 是哪位?全名方便说一下吗谢谢
2022-1-26 22:59:01
Erestary 发表于 2022-1-25 14:42
您好,请问下b站某松鼠 是哪位?全名方便说一下吗谢谢

黑松鼠
黑松鼠
黑松鼠
牛逼666。。。。。。。
大佬66666
  大佬66666
2022-3-24 03:53:14
大佬66666

  大佬66666
2022-5-2 20:03:04
一直没搞懂状态机有什么用
您需要登录后才可以回帖 立即登录
高级模式
12下一页
综合讨论