一种可扩展的游戏构建方法、游戏运行方法和存储介质与流程

文档序号:17431719发布日期:2019-04-17 03:35阅读:221来源:国知局
一种可扩展的游戏构建方法、游戏运行方法和存储介质与流程

本发明涉及网络技术,尤其涉及一种可扩展的游戏构建方法、游戏运行方法和存储介质。



背景技术:

随着互联网技术的发展,越来越多的应用使用脚本语言(javascript,js)技术在客户端进行处理。传统的游戏构建方案,如选球类游戏通常是通过在后端进行游戏拼接然后返回玩法页面实现某一玩法的模式,且不同游戏类型如不同彩种的所有的玩法都统一放在在一个js文件当中,导致这个js文件的体积很大,用户使用时加载较慢,而且不利于游戏开发者的扩展维护。



技术实现要素:

本发明实施例提供一种可扩展的游戏构建方法、游戏运行方法和存储介质,将游戏粒子化,便于整个游戏的灵活组合、扩展与维护。

本发明实施例第一方面提供了一种可扩展的游戏构建方法,包括:

构建游戏公共js库,所述游戏公共js库用于处理交互任务和公共算法任务,所述游戏公共js库还用于根据相应的交互任务跳转至游戏类型js库;

构建游戏类型js库,所述游戏类型js库包括若干游戏类型js文件,所述若干游戏类型js文件与若干游戏类型一一对应,各所述游戏类型js文件用于处理相应游戏类型的功能任务,以及用于跳转至相应的游戏玩法js文件;

构建若干游戏玩法js文件,各所述游戏玩法js文件用于分别处理相应游戏玩法的玩法任务;各所述游戏类型对应于一种或多种游戏玩法,各所述游戏类型js文件对应于一个或多个游戏玩法js文件;

根据项目需求的信息从所述游戏类型js库中提取一个或多个游戏类型js文件构建新的游戏类型js库,以及根据所述项目需求的信息获取与所述一个或多个游戏类型js文件对应的游戏玩法js文件;

根据所述新的游戏类型js库、与所述一个或多个游戏类型js文件对应的游戏玩法js文件以及所述游戏公共js库构建游戏。

在一些实施例中,所述游戏公共js库包括用于获取输入信息和更新输出信息的交互模块、以及若干个用于实现公共算法任务的公共算法模块。

在一些实施例中,所述若干个公共算法模块中的至少一个用于实现排序算法、组合算法、校验算法、过滤算法或时间算法。

在一些实施例中,各所述游戏类型js文件分别包括用于处理相应游戏类型功能任务的功能模块,以及用于调用所述游戏公共js库中交互模块、公共算法模块的第一调用模块。

在一些实施例中,所述功能模块用于处理相应游戏类型的开奖周期、游戏界面、游戏名称、奖励的功能任务。

在一些实施例中,各所述游戏玩法js文件分别包括用于调用所述游戏类型js库中相应游戏类型js文件的第二调用模块,以及用于调用所述游戏公共js库中交互模块、公共算法模块的第三调用模块。

本发明实施例第二方面提供了一种游戏运行方法,包括:

获取用户输入的用于指定游戏类型的第一用户指令;

根据所述第一用户指令从游戏类型js库加载与所述游戏类型对应的游戏类型js文件,所述游戏类型js库包括若干与若干游戏类型一一对应的游戏类型js文件;

所述游戏类型js文件处理所述游戏类型的功能任务;

获取用户输入的用于指定游戏玩法的第二用户指令;

加载与所述游戏玩法对应的游戏玩法js文件,所述游戏玩法js文件用于处理所述游戏玩法的玩法任务。

在一些实施例中,所述游戏运行方法还包括:

所述游戏类型js文件调用所述游戏公共js库中的交互模块、公共算法模块。

在一些实施例中,所述游戏运行方法还包括:

所述游戏玩法js文件调用与所述游戏类型对应的游戏类型js文件;

所述游戏玩法js文件调用所述游戏公共js库中的交互模块、公共算法模块。

本发明实施例第三方面提供了一种存储介质,所述存储介质存储有计算机程序,若所述计算机程序被处理器执行,实现上述游戏运行方法。

相比现有技术,本发明实施例的有益效果在于:通过对游戏进行拆分,将游戏拆分为三层结构,其中首层作为游戏公共js库,用于公共算法与交互请求方式的处理;第二层作为玩法类型js库,用于处理相应游戏类型的功能任务;第三层为独立玩法层,包括若干游戏玩法js文件,主要用于处理不同玩法的细节处理。从而将游戏粒子化,便于整个游戏的灵活组合、扩展与维护,例如面对不同项目需求时,可以很方便的通过该可扩展的游戏构建方法构建出于项目需求匹配的游戏产品。而且基于该三层结构的游戏,游戏使用者不需一次性加载全部的游戏js文件,而是根据需要加载所选择的玩法类型js文件和游戏玩法js文件,因此游戏使用更流畅。

附图说明

一个或多个实施例通过与之对应的附图中的图片进行示例性说明,这些示例性说明并不构成对实施例的限定。

图1为本发明实施例的可扩展的游戏构建方法的流程示意图;

图2为游戏公共js库的逻辑结构示意图;

图3为游戏类型js文件的逻辑结构示意图;

图4为游戏玩法js文件的逻辑结构示意图;

图5为游戏类型js文件、游戏类型js文件、游戏公共js库调用的示意图;

图6为本发明实施例的游戏运行方法的流程示意图。

具体实施方式

为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。

需要说明的是,如果不冲突,本发明实施例中的各个特征可以相互组合,均在本发明的保护范围之内。另外,虽然在装置示意图中进行了功能模块的划分,在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于装置示意图中的模块划分,或流程图中的顺序执行所示出或描述的步骤。

如图1为一种可扩展的游戏构建方法的流程示意图。

如图1所示,可扩展的游戏构建方法包括以下步骤:

步骤s110、构建游戏公共js库,所述游戏公共js库用于处理交互任务和公共算法任务,所述游戏公共js库还用于根据相应的交互任务跳转至游戏类型js库。

在一些可行的实施例中,本发明的游戏为选球类游戏,包括多个彩种的子游戏,各彩种的子游戏有多种玩法。示例性的,该选球类游戏包括11选5、31选7等多个彩种;11选5这个彩种包括前三码、前二码、不定位、任选一中一、任选六中五等多种玩法;31选7这个彩种又包括任选四、任选五、任选六等多种玩法。

选球类游戏通常都依赖于一些同样的算法,这些算法即选球类游戏的公共算法。

在一些可行的实施例中,如图2所示,所述游戏公共js库包括若干个用于实现公共算法任务的公共算法模块。

在一些可行的实施例中,所述若干个公共算法模块中的至少一个用于实现排序算法、组合算法、校验算法、过滤算法或时间算法。

在一些可行的实施例中,如图2所示,所述游戏公共js库包括用于获取输入信息和更新输出信息的交互模块。

示例性的,交互模块包括用于更新投注、追号、合买等方案信息的更新数据单元、用于调用外部接口以获取所有彩种开奖状态,以及获取服务器时间的外部接口调用单元。

在一些可行的实施例中,所述游戏公共js库还包括用于根据相应的交互任务跳转至游戏类型js库的游戏主体跳转模块。

示例性的,若交互模块获取到用户输入的用于指定游戏类型的第一用户指令,则从游戏公共js库跳转至游戏类型js库。

步骤s120、构建游戏类型js库,所述游戏类型js库包括若干游戏类型js文件,所述若干游戏类型js文件与若干游戏类型一一对应。

示例性的,游戏类型js库包括对应于11选5这一游戏类型的游戏类型js文件、对应于31选7这一游戏类型的游戏类型js文件等。

某一类游戏类型,如某一彩种虽然可包括多种玩法,但是仍存在一些共同之处。如开奖周期,开奖结果等可以相同。示例性的,11选5这一彩种,均是从01号球至11号球中开出五个球。

各所述游戏类型js文件用于处理相应游戏类型的功能任务,如对应于11选5这一游戏类型的游戏类型js文件用于处理11选5这一彩种的共同任务。

在一些可行的实施例中,各所述游戏类型js文件分别包括用于处理相应游戏类型功能任务的功能模块。示例性的,所述功能模块用于处理相应游戏类型的开奖周期、游戏界面、游戏名称、奖励的功能任务。

在一些可行的实施例中,如图3所示,所述游戏类型js文件的功能模块处理的任务可以分为三大类;其中第一大类为更新数据任务,具体包括更新今日开奖号码列表、更新当前游戏的期号、更新该游戏类型对应的不同玩法的奖金、玩法说明等;第二大类为调用外部数据接口的任务,具体包括获取该游戏类型对应的各玩法的详细说明、获取该游戏类型对应的各玩法的奖励信息、获取当前选球游戏的七号时间表等;第三大类为公用函数与效果模块划分任务,具体包括选球游戏期号更新函数、获取选球游戏的号码遗漏数据的函数、快捷玩法绑定设置的任务、表单的事件绑定的任务、竞猜模式的事件绑定的任务等。

所述游戏类型js文件还用于跳转至相应的游戏玩法js文件。

示例性的,若交互模块获取到用户输入的用于指定游戏玩法的第二用户指令,则从游戏类型js库中的相应游戏类型js文件跳转至相应的游戏玩法js文件。

步骤s130、构建若干游戏玩法js文件,各所述游戏玩法js文件用于分别处理相应游戏玩法的玩法任务;各所述游戏类型对应于一种或多种游戏玩法,各所述游戏类型js文件对应于一个或多个游戏玩法js文件。

在本实施例中,游戏为选球类游戏,包括多种游戏类型,如对应于多个彩种的子游戏;各类型子游戏,如各彩种对应的子游戏有多种玩法。示例性的,该选球类游戏包括11选5、31选7等多个彩种;11选5这个彩种包括前三码、前二码、不定位、任选一中一、任选六中五等多种玩法;31选7这个彩种又包括任选四、任选五、任选六等多种玩法。

对于各类型子游戏所包括的一种或多种游戏玩法之间具有差异性;因此构建了与各所述游戏类型js文件对应于的一个或多个游戏玩法js文件,用于处理不同游戏玩法的不同玩法细节;示例性的,游戏玩法js文件用于进行选球结构、选球计算方式等方面任务的处理。

在一些可行的实施例中,如图4所示,游戏玩法js文件用于通过玩法编码,获取玩法的说明、用于调用接口更新该游戏玩法的奖励、用于创建玩法区域、用于绑定玩法选号相关的js效果、用于处理本游戏玩法的选择号码、计算选球、计算注数等、用于通过本游戏玩法的注数计算金额、用于将选球注数加入选号区域、用于通过游戏类型和玩法编码调用遗漏数据等。

步骤s140、根据项目需求的信息从所述游戏类型js库中提取一个或多个游戏类型js文件构建新的游戏类型js库,以及根据所述项目需求的信息获取与所述一个或多个游戏类型js文件对应的游戏玩法js文件。

在一些可行的实施例中,游戏运营方提出项目需求,如其运营的游戏需要包括某五种类型的子游戏,如五个彩种,且提出了游戏应包括的各彩种的若干种玩法。则游戏构建方根据游戏运营方提出的该项目需求,从步骤s120构建的游戏类型js库中提取这五种类型子游戏对应的五个游戏类型js文件组成新的游戏类型js库,新的游戏类型js库不包括项目需求中不包括的子游戏对应的游戏类型js文件。游戏构建方还根据游戏运营方提出的该项目需求,从步骤s130构建的若干游戏玩法js文件中挑出项目需求所需的各彩种的若干种玩法对应的游戏玩法js文件。

步骤s150、根据所述新的游戏类型js库、与所述一个或多个游戏类型js文件对应的游戏玩法js文件以及所述游戏公共js库构建游戏。

在一些可行的实施例中,游戏公共js库的交互模块还用于输出游戏中各游戏类型和/或各游戏玩法的列表;步骤s150根据所述新的游戏类型js库、与所述一个或多个游戏类型js文件对应的游戏玩法js文件以及所述游戏公共js库构建游戏具体为:根据所述新的游戏类型js库、与所述一个或多个游戏类型js文件对应的游戏玩法js文件调整所述游戏公共js库中游戏类型和/或游戏玩法的列表。从而游戏运营方将该游戏投放后,游戏使用者通过游戏公共js库中的交互模块输入用于指定游戏类型的第一用户指令,使得游戏从游戏公共js库跳转至所指定游戏类型对应的游戏类型js库;以及游戏使用者通过游戏公共js库中的交互模块输入用于指定游戏玩法的第二用户指令,使得游戏从相应的游戏类型js库跳转至相应的游戏玩法js文件。

在一些可行的实施例中,游戏类型js文件包括用于调用所述游戏公共js库中交互模块、公共算法模块的第一调用模块。在处理某一游戏类型的一些功能任务时,游戏类型js文件的第一调用模块需要调用游戏公共js库中的交互模块以获取使用者输入的信息、更新输出的信息等,或者调用游戏公共js库中的公共算法模块以实现具体的算法。

在一些可行的实施例中,各所述游戏玩法js文件分别包括用于调用所述游戏类型js库中相应游戏类型js文件的第二调用模块。在游戏玩法js文件处理某一游戏玩法的任务时,有时游戏玩法js文件需要通过第二调用模块调用所述游戏类型js库中该游戏玩法对应的游戏类型js文件的一些功能模块。

在一些可行的实施例中,各所述游戏玩法js文件分别还包括用于调用所述游戏公共js库中交互模块、公共算法模块的第三调用模块。在游戏玩法js文件处理某一游戏玩法的任务时,有时游戏玩法js文件需要通过第三调用模块调用游戏公共js库中的交互模块以获取使用者输入的信息、更新输出的信息等,或者调用游戏公共js库中的公共算法模块以实现具体的算法。

如图5所示为游戏类型js文件的第一调用模块调用游戏公共js库中相应模块、游戏玩法js文件通过第二调用模块调用所述游戏类型js库中该游戏玩法对应的游戏类型js文件的一些功能模块、游戏玩法js文件通过第三调用模块调用游戏公共js库中相应模块的示意图。在本实施例中,游戏公共js库中的相应模块负责执行一些算法、调用相应接口的数据,以及初始函数的触发;游戏类型js文件负责订单的创建以及合买、追号方案的实现,以及负责该游戏类型的数据格式、公用玩法和赔率等规则的实现;游戏玩法js文件负责实现玩法的选号布局、具体选号、计算金额和统计选号信息。

本发明实施例提供的可扩展的游戏构建方法,通过对游戏进行拆分,将游戏拆分为三层结构,其中首层作为游戏公共js库,用于公共算法与交互请求方式的处理;第二层作为玩法类型js库,用于处理相应游戏类型的功能任务;第三层为独立玩法层,包括若干游戏玩法js文件,主要用于处理不同玩法的细节处理。从而将游戏粒子化,便于整个游戏的灵活组合、扩展与维护,例如面对不同项目需求时,可以很方便的通过该可扩展的游戏构建方法构建出于项目需求匹配的游戏产品。

如图6所示为一种游戏运行方法的流程示意图。该游戏具体为根据上述可扩展的游戏构建方法创建的游戏。

如图6所示,游戏运行方法包括以下步骤:

步骤s210、获取用户输入的用于指定游戏类型的第一用户指令。

在一些可行的实施例中,游戏在启动后通过游戏公共js库中的交互模块输出该游戏包括的游戏类型的列表,游戏使用者可以通过交互模块输入用于指定游戏类型的第一用户指令。

步骤s220、根据所述第一用户指令从游戏类型js库加载与所述游戏类型对应的游戏类型js文件,所述游戏类型js库包括若干与若干游戏类型一一对应的游戏类型js文件。

若交互模块获取到用户输入的用于指定游戏类型的第一用户指令,则从游戏公共js库跳转至游戏类型js库,以跳转至指定游戏类型的游戏主体。

步骤s230、所述游戏类型js文件处理所述游戏类型的功能任务。

在一些可行的实施例中,所述游戏类型js文件分别包括用于处理相应游戏类型功能任务的功能模块。示例性的,所述功能模块用于处理相应游戏类型的开奖周期、游戏界面、游戏名称、奖励的功能任务。

游戏公共js库中的交互模块可以输出该游戏类型包括的游戏玩法的列表,具体的可以以游戏类型js文件规定的游戏界面的形式输出该游戏玩法的列表。游戏使用者可以通过交互模块输入用于指定游戏玩法的第二用户指令。

步骤s240、获取用户输入的用于指定游戏玩法的第二用户指令。

步骤s250、加载与所述游戏玩法对应的游戏玩法js文件,所述游戏玩法js文件用于处理所述游戏玩法的玩法任务。

若获取到游戏使用者通过交互模块输入的用于指定游戏玩法的第二用户指令,则从游戏类型js库中相应游戏类型js文件跳转至指定的游戏玩法js文件;以实现该游戏玩法js文件中的相应玩法任务。

在一些可行的实施例中,如图5所示,游戏运行方法还包括以下步骤:

步骤s260、所述游戏类型js文件调用所述游戏公共js库中的交互模块、公共算法模块。

在处理某一游戏类型的一些功能任务时,游戏类型js文件的第一调用模块需要调用游戏公共js库中的交互模块以获取使用者输入的信息、更新输出的信息等,或者调用游戏公共js库中的公共算法模块以实现具体的算法。

在一些可行的实施例中,游戏运行方法还包括以下步骤:

步骤s270、所述游戏玩法js文件调用与所述游戏类型对应的游戏类型js文件。

在游戏玩法js文件处理某一游戏玩法的任务时,有时游戏玩法js文件需要通过第二调用模块调用所述游戏类型js库中该游戏玩法对应的游戏类型js文件的一些功能模块。

在一些可行的实施例中,游戏运行方法还包括以下步骤:

步骤s280、所述游戏玩法js文件调用所述游戏公共js库中的交互模块、公共算法模块。

在游戏玩法js文件处理某一游戏玩法的任务时,有时游戏玩法js文件需要通过第三调用模块调用游戏公共js库中的交互模块以获取使用者输入的信息、更新输出的信息等,或者调用游戏公共js库中的公共算法模块以实现具体的算法。

通过以上的实施方式的描述可知,本领域的技术人员可以清楚地了解到本发明可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,本发明实施例所称的模块可以体现为函数、程序代码等;该计算机软件产品可以存储在存储介质中,如rom/ram、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例或者实施例的某些部分所述的方法,如:

一种存储介质,所述存储介质存储有计算机程序,若所述计算机程序被处理器执行,实现前述游戏运行方法。

本发明实施例提供的游戏运行方法和存储介质,适用于采用三层结构的游戏方案,其中首层作为游戏公共js库,用于公共算法与交互请求方式的处理;第二层作为玩法类型js库,用于处理相应游戏类型的功能任务;第三层为独立玩法层,包括若干游戏玩法js文件,主要用于处理不同玩法的细节处理;从而游戏使用者不需一次性加载全部的游戏js文件,而是根据需要加载所选择的玩法类型js文件和游戏玩法js文件,因此游戏使用更流畅。

上述实施方式仅为本发明的优选实施方式,不能以此来限定本发明保护的范围,本领域的技术人员在本发明的基础上所做的任何非实质性的变化及替换均属于本发明所要求保护的范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1