[发明专利]一种可配置的回合制游戏框架实现方法有效
申请号: | 201810502751.1 | 申请日: | 2018-05-23 |
公开(公告)号: | CN108762904B | 公开(公告)日: | 2021-08-20 |
发明(设计)人: | 邓鹏;姜福泉 | 申请(专利权)人: | 武汉山骁科技有限公司 |
主分类号: | G06F9/48 | 分类号: | G06F9/48;A63F13/843 |
代理公司: | 上海精晟知识产权代理有限公司 31253 | 代理人: | 冯子玲 |
地址: | 430000 湖北省武汉市东湖新技术*** | 国省代码: | 湖北;42 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 配置 回合 游戏 框架 实现 方法 | ||
本发明涉及一种可配置的回合制游戏框架实现方法,通过在叶子结点里设置逻辑过程,在非叶子结点里控制进程,同时通过toml文件配置及线程管理,为网络游戏回合制游戏软件提供可供游戏开发人员自定义便捷配置的回合制游戏框架,使游戏开发人员只需要在每个叶子结点编写该阶段具体的游戏逻辑即可,提高了服务端回合流转的代码健壮性及稳定性,提升了开发人员体验及工作效率。
技术领域
本发明涉及游戏技术领域,具体的说是一种可配置的回合制游戏框架实现方法。
背景技术
现有网络游戏中,回合制游戏流程由服务端进行控制,服务端根据游戏流程的进展,通知对应阶段需要行动角色所属的客户端,完成当前回合相应操作。回合持续循环,直至游戏一方获得胜利。目前回合制游戏服务端采用串行执行方式,按照游戏流程,依次执行到不同角色相应阶段,通知相应客户端进行行动。同时,游戏流程固定,特定游戏需实现特定逻辑,无法进行通用配置。
故针对上述技术中存在的缺点及局限性,即服务端不能使用通用配置回合制游戏流程,且不能同时实现玩家并行操作,本发明提出了一种可配置的回合制游戏框架实现方法。
发明内容
为了解决上述现有技术中存在的问题,本发明提供一种可配置的回合制游戏框架实现方法。
本发明解决其技术问题所采用的技术方案是:
一种可配置的回合制游戏框架实现方法,包括以下步骤:
步骤一、当目标阶段进入开始阶段时,判断目标阶段是否被执行过,若是,则进入步骤五,若否,则进入步骤二;
步骤二、判断步骤一中被执行过的阶段是否只执行一次,若是,则将该阶段加入已执行阶段的集合中,若否,则进入步骤三;
步骤三、判断步骤二中没有只执行一次的阶段是否是叶子结点,若是,则执行该阶段具体逻辑,进入步骤五,若否,则进入步骤四;
步骤四、判断步骤三中不是叶子结点的阶段是否是子阶段并行,若是,则为每个子阶段开启计数,并为每个子阶段开启线程,执行各子阶段,进入步骤一,同时,单独开启线程,阻塞当前阶段,直至所有子阶段都完成后进入步骤五,若否,则直接执行该阶段的第一个子阶段,进入步骤一;
步骤五、进入结束阶段时,判断该阶段是否与其他阶段并行,若是,则标记当前阶段已完成,同时通知父阶段,若否,则进入步骤六;
步骤六、判断当前阶段与其他阶段串行时,是否存在下一个兄弟阶段,若是,则执行下一个兄弟阶段,进入步骤一,若否,则进入步骤七;
步骤七、判断步骤六中未找到下一个兄弟阶段的阶段的父阶段是否循环,若是,则重新开始父阶段后进入步骤一,若否,则父阶段结束后进入步骤五。
进一步地,所述步骤四中并行执行算法具体为,如果当前阶段的子阶段并行,则为当前阶段开启WaitGroup,用于标记子阶段执0行完成情况,并在该WaitGroup上增加计数,然后,为每个子阶段单独开启线程进行执行。
更进一步地,在对应WaitGroup上增加计数的数量为并行的子阶段数量。
更进一步地,所述步骤四中并行执行算法具体还包括:需要为当前阶段开启线程,并阻塞当前阶段,使当前阶段一直在子线程中等待。
进一步地,所述步骤五中并行执行算法具体为,如果当前阶段与其它阶段并行,则当前阶段的父阶段的WaitGroup中的计数器减一,当父阶段的所有并行子阶段都已结束,即WaitGroup计数为零时,当前阶段的父阶段不再阻塞,并结束父阶段。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于武汉山骁科技有限公司,未经武汉山骁科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201810502751.1/2.html,转载请声明来源钻瓜专利网。