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

[复制链接]
查看4002 | 回复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()

回复

使用道具 举报

13714120944 | 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()
复制代码
回复

使用道具 举报

Erestary | 2022-1-25 14:42:44 | 显示全部楼层
您好,请问下b站某松鼠 是哪位?全名方便说一下吗谢谢
回复

使用道具 举报

qq9451045 | 2022-1-26 22:59:01 | 显示全部楼层
Erestary 发表于 2022-1-25 14:42
您好,请问下b站某松鼠 是哪位?全名方便说一下吗谢谢

黑松鼠
黑松鼠
黑松鼠

安卓脚本,苹果脚本
脚本定制接单;自动化操作;手动能完成的都能做;
Q: 9451045
回复

使用道具 举报

tianquan514 | 2022-2-3 18:59:27 | 显示全部楼层
牛逼666。。。。。。。
回复

使用道具 举报

lvlanren520 | 2022-2-3 23:49:40 | 显示全部楼层
大佬66666
回复

使用道具 举报

davis19960228 | 2022-3-22 10:48:18 | 显示全部楼层
  大佬66666
回复

使用道具 举报

qq1132 | 2022-3-24 03:53:14 | 显示全部楼层
大佬66666
回复

使用道具 举报

13978339023 | 2022-4-3 23:25:03 | 显示全部楼层

  大佬66666
回复

使用道具 举报

net702 | 2022-5-2 20:03:04 | 显示全部楼层
一直没搞懂状态机有什么用
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

2

主题

22

帖子

97

积分

注册会员

Rank: 2

积分
97