[发明专利]一种可配置的回合制游戏框架实现方法有效
| 申请号: | 201810502751.1 | 申请日: | 2018-05-23 |
| 公开(公告)号: | CN108762904B | 公开(公告)日: | 2021-08-20 |
| 发明(设计)人: | 邓鹏;姜福泉 | 申请(专利权)人: | 武汉山骁科技有限公司 |
| 主分类号: | G06F9/48 | 分类号: | G06F9/48;A63F13/843 |
| 代理公司: | 上海精晟知识产权代理有限公司 31253 | 代理人: | 冯子玲 |
| 地址: | 430000 湖北省武汉市东湖新技术*** | 国省代码: | 湖北;42 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 一种 配置 回合 游戏 框架 实现 方法 | ||
1.一种可配置的回合制游戏框架实现方法,其特征在于,包括以下步骤:
步骤一、当目标阶段进入开始阶段时,判断目标阶段是否被执行过,若否,则进入步骤二,若是,则进入步骤五;
步骤二、判断步骤一中被执行过的阶段是否只执行一次,若否,则进入步骤三,若是,则将该阶段加入已执行阶段的集合中;
步骤三、判断步骤二中没有只执行一次的阶段是否是叶子结点,若否,则进入步骤四,若是,则执行该阶段具体逻辑,进入步骤五;
步骤四、判断步骤三中不是叶子结点的阶段是否是子阶段并行,若是,则为每个子阶段开启计数,并为每个子阶段开启线程,执行各子阶段,进入步骤一,同时,单独开启线程,阻塞当前阶段,直至所有子阶段都完成后进入步骤五,若否,则直接执行该阶段的第一个子阶段,进入步骤一;
步骤五、进入结束阶段时,判断该阶段是否与其他阶段并行,若否,则进入步骤六,若是,则标记当前阶段已完成,同时通知父阶段;
步骤六、判断当前阶段与其他阶段串行时,是否存在下一个兄弟阶段,若是,则执行下一个兄弟阶段,进入步骤一,若否,则进入步骤七;
步骤七、判断步骤六中未找到下一个兄弟阶段的阶段的父阶段是否循环,若是,则重新开始父阶段后进入步骤一,若否,则父阶段结束后进入步骤五;
其中所述步骤一可以过滤掉只需执行一次且已经执行过的阶段,直接结束该阶段,阶段将不会在以后的回合中执行;所述步骤二对只需执行一次的阶段进行标记,使其在以后的回合中不再执行;所述步骤三可以判断当前阶段是否为叶子结点,游戏具体逻辑仅在叶子结点中实现,非叶子结点仅用来控制游戏进程;所述步骤四对子阶段并行和子阶段串行进行区分处理,子阶段并行则各个子阶段同时执行,父阶段等待直至所有子阶段完成;子阶段串行则各个子阶段依次执行;所述步骤五对当前阶段的子阶段并行的执行状态进行标记,保证父阶段的计数准确,每完成一个子阶段则通知父阶段;所述步骤六依次执行子阶段串行情况中的每一个子阶段,保证执行顺序;所述步骤七保证游戏回合能循环流转,直至游戏结束。
2.根据权利要求1所述的一种可配置的回合制游戏框架实现方法,其特征在于:所述步骤四中并行执行算法具体为,如果当前阶段的子阶段并行,则为当前阶段开启WaitGroup,用于标记子阶段执行完成情况,并在该WaitGroup上增加计数,然后,为每个子阶段单独开启线程进行执行。
3.根据权利要求2所述的一种可配置的回合制游戏框架实现方法,其特征在于:在对应WaitGroup上增加计数的数量为并行的子阶段数量。
4.根据权利要求2所述的一种可配置的回合制游戏框架实现方法,其特征在于,所述步骤四中并行执行算法具体还包括:需要为当前阶段开启线程,并阻塞当前阶段,使当前阶段一直在子线程中等待。
5.根据权利要求1所述的一种可配置的回合制游戏框架实现方法,其特征在于:所述步骤五中并行执行算法具体为,如果当前阶段与其它阶段并行,则当前阶段的父阶段的WaitGroup中的计数器减一,当父阶段的所有并行子阶段都已结束,即WaitGroup计数为零时,当前阶段的父阶段不再阻塞,并结束父阶段。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于武汉山骁科技有限公司,未经武汉山骁科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201810502751.1/1.html,转载请声明来源钻瓜专利网。





