游戏路径的生成方法及装置与流程
本发明涉及游戏技术领域,具体而言,涉及一种游戏路径的生成方法及装置。
背景技术:
探索类游戏作为游戏中重要主题之一,属于自由度比较高的游戏类型,可以让玩家在游戏世界中自由寻找资源探索前进。其中,roguelike类型的游戏是探索类游戏十分经典的一个分支,在roguelike类型的游戏中,随机关卡路径设计十分重要。此类游戏闯关玩法给定起始点和终点,中途有多个节点给予玩家一定的补给和冒险消耗,这类玩法不止一条通往终点的路径,每个节点有多种分支可选,需要玩家综合考量各个路径的收益,从而体验探索最佳路径的乐趣。
如何在兼顾计算效率的情况下设计随机关卡路径,并在玩家开启玩法时快速得出不重复的随机路径地图,让玩家有足够的趣味则属于此类游戏设计中十分关键的设计环节。
针对上述的问题,目前尚未提出有效的解决方案。
技术实现要素:
本发明实施例提供了一种游戏路径的生成方法及装置,以至少解决现有技术中生成随机游戏路径的方式无法兼顾计算效率的技术问题。
根据本发明实施例的一个方面,提供了一种游戏路径的生成方法,包括:获取游戏路径的多个路径层中每个路径层的路径节点数据;依据上述路径节点数据,确定上述多个路径层中每相邻两个路径层之间的任意一条连接路径;基于上述多个路径层中每相邻两个路径层之间的任意一条上述连接路径,生成上述游戏路径。
根据本发明实施例的另一方面,还提供了一种游戏路径的生成装置,包括:获取模块,用于获取游戏路径的多个路径层中每个路径层的路径节点数据;确定模块,用于依据上述路径节点数据,确定上述多个路径层中每相邻两个路径层之间的任意一条连接路径;生成模块,用于基于上述多个路径层中每相邻两个路径层之间的任意一条上述连接路径,生成上述游戏路径。
根据本发明实施例的另一方面,还提供了一种非易失性存储介质,上述非易失性存储介质包括存储的程序,其中,在上述程序运行时控制上述非易失性存储介质所在设备执行任意一项上述的游戏路径的生成方法。
根据本发明实施例的另一方面,还提供了一种处理器,上述处理器用于运行存储在存储器中的程序,其中,上述程序运行时执行任意一项上述的游戏路径的生成方法。
在本发明实施例中,通过获取游戏路径的多个路径层中每个路径层的路径节点数据;依据上述路径节点数据,确定上述多个路径层中每相邻两个路径层之间的任意一条连接路径;基于上述多个路径层中每相邻两个路径层之间的任意一条上述连接路径,生成上述游戏路径,达到了高效生成随机游戏路径的目的,从而实现了在生成随机游戏路径时兼顾计算效率的技术效果,进而解决了现有技术中生成随机游戏路径的方式无法兼顾计算效率的技术问题。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1是根据本发明实施例的一种游戏路径的生成方法的流程图;
图2是根据本发明实施例的一种可选的4-3层次的游戏路径的示意图;
图3是根据本发明实施例的一种可选的游戏路径的生成方法的流程图;
图4是根据本发明实施例的一种可选的4-3层次的合法连接库的示意图;
图5是根据本发明实施例的一种可选的3-2层次的合法连接库的示意图;
图6是根据本发明实施例的一种可选的4-3-2层次的游戏路径的示意图;
图7是根据本发明实施例的一种可选的9层次的游戏路径的示意图;
图8是根据本发明实施例的一种游戏路径的生成装置的结构示意图。
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
根据本发明实施例,提供了一种游戏路径的生成方法的实施例,需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
该方法实施例的技术方案可以在移动终端、计算机终端或者类似的运算装置中执行。以运行在移动终端上为例,该移动终端可以是智能手机(如android手机、ios手机等)、平板电脑、掌上电脑以及移动互联网设备(mobileinternetdevices,简称为mid)、pad等终端设备。移动终端可以包括一个或多个处理器(处理器可以包括但不限于中央处理器(cpu)、图形处理器(gpu)、数字信号处理(dsp)芯片、微处理器(mcu)、可编程逻辑器件(fpga)、神经网络处理器(npu)、张量处理器(tpu)、人工智能(ai)类型处理器等的处理装置)和用于存储数据的存储器。可选地,上述移动终端还可以包括用于通信功能的传输设备、输入输出设备以及显示设备。本领域普通技术人员可以理解,上述结构描述仅为示意,其并不对上述移动终端的结构造成限定。例如,移动终端还可包括比上述结构描述更多或者更少的组件,或者具有与上述结构描述不同的配置。
存储器可用于存储计算机程序,例如,应用软件的软件程序以及模块,如本发明实施例中的游戏画面的处理方法对应的计算机程序,处理器通过运行存储在存储器内的计算机程序,从而执行各种功能应用以及数据处理,即实现上述的游戏画面的处理方法。存储器可包括高速随机存储器,还可包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器可进一步包括相对于处理器远程设置的存储器,这些远程存储器可以通过网络连接至移动终端。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
传输设备用于经由一个网络接收或者发送数据。上述的网络具体实例可包括移动终端的通信供应商提供的无线网络。在一个实例中,传输设备包括一个网络适配器(networkinterfacecontroller,简称为nic),其可通过基站与其他网络设备相连从而可与互联网进行通讯。在一个实例中,传输设备可以为射频(radiofrequency,简称为rf)模块,其用于通过无线方式与互联网进行通讯。该方法实施例的技术方案可以应用于各种通信系统,例如:全球移动通讯(globalsystemofmobilecommunication,简称为gsm)系统、码分多址(codedivisionmultipleaccess,简称为cdma)系统、宽带码分多址(widebandcodedivisionmultipleaccess,简称为wcdma)系统、通用分组无线业务(generalpacketradioservice,简称为gprs)、长期演进(longtermevolution,简称为lte)系统、lte频分双工(frequencydivisionduplex,简称为fdd)系统、lte时分双工(timedivisionduplex,简称为tdd)、通用移动通信系统(universalmobiletelecommunicationsystem,简称为umts)、全球互联微波接入(worldwideinteroperabilityformicrowaveaccess,简称为wimax)通信系统或5g系统等。可选地,多个移动终端之间可以进行设备到设备(devicetodevice,简称为d2d)通信。可选地,5g系统或5g网络又被称为新无线(newradio,简称为nr)系统或nr网络。
显示设备可以例如触摸屏式的液晶显示器(lcd)和触摸显示器(也被称为“触摸屏”或“触摸显示屏”)。该液晶显示器可使得用户能够与移动终端的用户界面进行交互。在一些实施例中,上述移动终端具有图形用户界面(gui),用户可以通过触摸触敏表面上的手指接触和/或手势来与gui进行人机交互,此处的人机交互功能可选的包括如下交互:创建网页、绘图、文字处理、制作电子文档、游戏、视频会议、即时通信、收发电子邮件、通话界面、播放数字视频、播放数字音乐和/或网络浏览等、用于执行上述人机交互功能的可执行指令被配置/存储在一个或多个处理器可执行的计算机程序产品或可读非易失性存储介质中。
本申请实施例提供的游戏路径的生成方法,图1是根据本发明实施例的一种游戏路径的生成方法的流程图,如图1所示,该方法包括如下步骤:
步骤s102,获取游戏路径的多个路径层中每个路径层的路径节点数据;
步骤s104,依据上述路径节点数据,确定上述多个路径层中每相邻两个路径层之间的任意一条连接路径;
步骤s106,基于上述多个路径层中每相邻两个路径层之间的任意一条上述连接路径,生成上述游戏路径。
在本发明实施例中,通过获取游戏路径的多个路径层中每个路径层的路径节点数据;依据上述路径节点数据,确定上述多个路径层中每相邻两个路径层之间的任意一条连接路径;基于上述多个路径层中每相邻两个路径层之间的任意一条上述连接路径,生成上述游戏路径,达到了高效生成随机游戏路径的目的,从而实现了在生成随机游戏路径时兼顾计算效率的技术效果,进而解决了现有技术中生成随机游戏路径的方式无法兼顾计算效率的技术问题。
可选的,上述游戏路径即为游戏关卡路径,游戏闯关路径等,需要说明的是,由于游戏探索地图的闯关玩法,对于路径设计需要有一定的可玩性趣味性,并且需要兼顾游戏路径的视觉展示效果。根据上述需求,本申请实施例所生成的游戏路径具备节点流入流出负载较低、路径之间没有平面交叉的关卡路径,并且兼顾计算效率快速随机生成上述游戏路径。
为了高效生成游戏闯关随机路径,抽象成了基于层级的节点路径的生成方案,本申请实施例中的生成游戏路径的方法基于节点遍历与分层拼接的随机路径生成算法实现,例如,可以将其拆解为两个阶段:第一阶段是生成层级的连接路径库,基于节点遍历的方式,控制节点的流入流出负载,生成每相邻两个路径层之间的多条连接路径;第二阶段是分层拼接,利用第一阶段生成好的路径库,在获取游戏路径的多个路径层中每个路径层的路径节点数据之后,依据上述路径节点数据,确定上述多个路径层中每相邻两个路径层之间的任意一条连接路径,基于上述多个路径层中每相邻两个路径层之间的任意一条上述连接路径,通过逐层拼接的方式生成随机路径。
在一种可选的实施例中,获取游戏路径的多个路径层中每个路径层的路径节点数据,包括:
步骤s202,获取上述每个路径层的路径节点数量,以及上述每个路径层中每个路径节点的路径流入流出阈值。
在本申请实施例所提供的游戏路径生成算法中,可以在生成连接路径库之前,确定闯关总层数l,其中,由于闯关游戏的通关层次,闯关总层数即终点所在的层次,或到达终点前需要通关的层数;每个路径层的路径节点数量范围,即最大路径节点数量n_min和最小路径节点数量n_max,例如,假设n_min=5,n_max=8,即每个路径层的路径节点数量在5-8之间随机确定,可选的,可以采取平均概率或自定义概率确定上述每个路径层的路径节点数量;以及每个路径节点的路径流入流出阈值,即该路径节点最多可以容纳的流入流出路径数l_max,例如,若l_max等于3则表明该路径节点最多可以前往下一层的3个节点,同时这个节点最多承载3条进入此路径节点的路径。
作为一种可选的实施例,在确定上述闯关总层数l、最大路径节点数量n_min和最小路径节点数量n_max和每个路径节点的路径流入流出阈值l_max之后,则可以基于节点遍历生成层间的路径连接,如图2所示,若第一路径层(下层)有4个路径节点,第二路径层(上层)有3个路径节点,简称为4-3层次连接图,则可以得到如图2所示的从第一路径层通往第二路径层的合法连接路径。
需要说明的是,在本申请实施例中,生成多个路径层中每相邻两个路径层之间的连接路径目的,是为了得到指定相邻两个路径层之间的路径节点的所有合法路径连接图,并存储至连接路径库中。
在一种可选的实施例中,依据上述路径节点数据,确定上述多个路径层中每相邻两个路径层之间的任意一条连接路径包括:
步骤s302,获取预先建立的连接路径库,其中,上述连接路径库用于存储上述每相邻两个路径层之间的多条可用连接路径;
步骤s304,依据上述路径节点数量和上述路径流入流出阈值,从上述多条可用连接路径中获取任意一条上述连接路径。
作为一种可选的实施例,由于本申请实施例在生成游戏路径之前,预先建立有连接路径库,上述连接路径库用于存储上述每相邻两个路径层之间的多条可用连接路径;因而在获取上述每个路径层的路径节点数量,以及上述每个路径层中每个路径节点的路径流入流出阈值之后,可以基于获取到的路径节点数量和路径流入流出阈值,从上述多条可用连接路径中获取任意一条上述连接路径。
在一种可选的实施例中,基于上述多个路径层中每相邻两个路径层之间的任意一条上述连接路径,生成上述游戏路径包括:
步骤s402,获取上述多个路径层的路径层数量和上述多个路径层中存在的多个相邻路径层;
步骤s404,依据上述路径层数量和上述多个相邻路径层,确定待拼接的多条上述连接路径;
步骤s406,通过逐层拼接多条上述连接路径得到上述游戏路径。
在本申请实施例中,在获取上述多个路径层中每相邻两个路径层之间的任意一条上述连接路径之后,通过获取上述多个路径层的路径层数量和上述多个路径层中存在的多个相邻路径层,进而依据上述路径层数量和上述多个相邻路径层,确定待拼接的多条上述连接路径,并通过逐层拼接的方式拼接不同相邻路径层的多条连接路径得到游戏路径。
在一种可选的实施例中,在获取游戏路径的多个路径层中每个路径层的路径节点数据之前,上述方法还包括:
步骤s502,以上述游戏路径的第一路径层的第一节点作为起始节点,遍历上述游戏路径的第二路径层中待与上述第一节点连接的至少一个第二节点,其中,上述第一路径层与上述第二路径层为相邻路径层;
步骤s504,确定上述第一节点和上述第二节点之间的可用连接路径是否合法,并将上述可用连接路径存储至连接路径数据库中;
步骤s506,遍历上述游戏路径的第二路径层中待与上述第一节点连接的第三节点,直至上述游戏路径中的所有节点完成遍历。
在本申请提供的上述可选的实施例中,可以以上述游戏路径的第一路径层的第一节点nownode作为起始节点,遍历上述游戏路径的第二路径层中待与上述第一节点连接的至少一个第二节点targetnode,其中,上述第一路径层与上述第二路径层为相邻路径层;确定上述第一节点和上述第二节点之间的连接路径是否可用,第一节点的流入流出路径数量为0,路径可用,并将上述这条可用连接路径存储至连接路径数据库中,然后接着遍历上述游戏路径的第二路径层中待与上述第一节点连接的第三节点,直至上述游戏路径中的所有节点完成遍历。
其中,上述遍历可以覆盖选择连接与不连接两种分支,然后在各自的分支往下继续探索,在本申请实施例中通过判断第一节点和第二节点之间的连接路径是否合法,若合法则确定该连接路径为可用连接路径,将该可用连接路径存储至连接路径数据库中;由于是第一节点、第二节点分别为第一路径层、第二路径层的首节点,且第一节点连接路径数量为0,则此确定此连接路径合法,将此可用连接路径放入连接路径数据库中。
在本申请实施例中,需要遍历完所有第一路径层和第二路径层的节点(假如第一层有1个点,第二层有3个点,则需要对第二、第三、第四节点遍历完)形成所有的可用的连接路径数据库。然后第二路径层和第三路径层中的可用连接路径,和生成第一路径层和第二路径层对应的可用的连接路径数据库的方式一样,先从第二层首节点开始进行探索,形成可用的连接路径数据库。
在一种可选的实施例中,确定上述第一节点和上述第二节点之间的可用连接路径,包括:
步骤s602,获取上述第一节点的第一路径流入流出阈值和上述第二节点的第二路径流入流出阈值;
步骤s604,依据上述第一路径流入流出阈值和上述第二路径流入流出阈值,确定上述可用连接路径。
作为一种可选的实施例,在确定上述第一节点和上述第二节点之间的可用连接路径是否可用时,可以先获取上述第一节点的第一路径流入流出阈值和上述第二节点的第二路径流入流出阈值,再依据上述第一路径流入流出阈值和上述第二路径流入流出阈值,确定上述可用连接路径是否可以加入连接路径库。
例如图2所示的路径节点最多只能有3条路径流入流出,图2中的b路径节点正是有3条流入流出路径be、bf、bg,即没有超出流入流出阈值的限定,并通过分别检测可用连接路径是否已经存在于连接路径库中,在该可用连接路径未存在于连接路径库的情况下,将可用连接路径加入到连接路径库。
在一种可选的实施例中,在确定上述第一节点和上述第二节点之间的可用连接路径之后,上述方法还包括:
步骤s702,基于上述第一节点的节点编号判断上述第一节点是否为上述第一路径层中的结尾节点;
步骤s704,若判断出上述第一节点为上述第一路径层中的结尾节点,则判断上述第二节点的下一节点是否为上述第二路径层中的结尾节点;
步骤s706,若判断出上述下一节点为上述第二路径层中的结尾节点,则获取上述第一节点和上述下一节点之间的上述连接路径。
在上述可选的实施例中,在确定上述第一节点和上述第二节点之间的可用连接路径之后,由于每个路径节点都有对应的节点编号,则可以基于上述第一节点的节点编号判断上述第一节点是否为上述第一路径层中的结尾节点;若判断出上述第一节点为上述第一路径层中的结尾节点,则判断上述第二节点的下一节点是否为上述第二路径层中的结尾节点;若判断出上述下一节点为上述第二路径层中的结尾节点,则获取上述第一节点和上述下一节点之间的上述连接路径。
在一种可选的实施例中,上述方法还包括:
步骤s802,若判断出上述第一节点非上述第一路径层中的结尾节点,则检测与上述第一节点的连接路径数量是否大于或等于目标数量;
步骤s804,若检测到上述连接路径数量大于或等于上述目标数量,则将上述第一节点标记为已遍历节点,并以上述第一节点的下一节点重新作为上述起始节点,遍历上述第二路径层中待与上述第一节点的下一节点连接的上述第二节点。
作为一种可选的实施例,若判断出上述第一节点非上述第一路径层中的结尾节点,则检测与上述第一节点的连接路径数量是否大于或等于目标数量;若检测到上述连接路径数量大于或等于上述目标数量,则将上述第一节点标记为已遍历节点,并以上述第一节点的下一节点重新作为上述起始节点,遍历上述第二路径层中待与上述第一节点的下一节点连接的上述第二节点。
作为另一种可选的实施例,若检测到上述连接路径数量小于上述目标数量,则确定上述第一节点与上述第二节点的下一节点之间的可用连接路径;并将上述可用连接路径存储至上述连接路径数据库中。
在一种可选的实施例中,将上述可用连接路径存储至连接路径数据库中,包括:
步骤s902,检测上述连接路径是否已存在于上述连接路径数据库中;
步骤s904,若检测到上述连接路径未存在于上述连接路径数据库中,则检测上述连接路径的流入流出负载是否超出路径流入流出阈值;
步骤s906,若检测到上述流入流出负载未超出上述路径流入流出阈值,则将上述连接路径存储至上述连接路径数据库中。
在本申请实施例中,将上述可用连接路径存储至连接路径数据库中时,还可以检测上述连接路径是否已存在于上述连接路径数据库中;若检测到上述连接路径未存在于上述连接路径数据库中,则检测上述连接路径的流入流出负载是否超出路径流入流出阈值;若检测到上述流入流出负载未超出上述路径流入流出阈值,则将上述连接路径存储至上述连接路径数据库中。
作为一种可选的实施例中,如图3所示,通过输入第一节点的节点编号,当前层、相邻层所有节点的信息(已遍历节点、未遍历节点)和当前已获得的连接路径集;检查是否第一节点时本层的末尾节点,或者相邻层已完成节点的下一节点是否大于等于末尾节点,若否则表明未结束需要逐个进行探索,并执行选取下一层的第一节点为起始节点开始搜索,标记为第一节点curnode;若是则表明该节点仅需要进行最后一条连接路径的遍历,执行查找相邻路径层中未遍历过的节点,标记为targetnode;若检测到第一节点为本层的结尾节点,且相邻层已完成的节点只剩下最后一个,则表明两个节点形成的是当前路径库中最后一条连接路径,将标记为link,并检查该link是否存在于已获得的合法拦截集中。
若该link已经存在于已获得的合法拦截集中,则表明该link之前已经处理过,则当前连接路径库已经为一个合法连接路径库,直接将当前连接路径库加入合法连接路径库集合中,若该link未存在于已获得的合法拦截集中,则检查第一节点和结尾节点是否已经超出流入流出负载阈值,其中,若任意一个节点超出上述流入流出负载阈值,则表明该link不合法连接路径直接结束遍历,该不合法的link无需加入合法连接路径库,仅保留之前遍历的合法连接路径即可,若任意一个节点均没有超出上述流入流出负载阈值,则表明该link为合法连接路径,将该合法的link加入合法连接路径库,并将该合法连接路径库加入至合法连接路径库集合中,由于该合法连接路径库加入至合法连接路径库集合中,可以在该合法连接路径库中删除该合法link,即实现对该合法link的释放。
在一种可选的实施例中,在执行上述步骤之后,通过选取下一层的第一节点为起始节点开始搜索,标记为curnode,检查curnode是否有流入流出明是非当前连接已有路径节点的连接存在,若存在则表明该路径节点已有连接路径,则可以标记为当前curnode为已完成,本层下一节点进行递归过程执行输入第一节点的编号的步骤,并在完成之后删除本路径节点的完成标记,若不存在则执行查找相邻路径层中未遍历过的路径节点,标记为targetnode,假如不存在下一个未遍历的路径节点,则表明到此遍历完成,直接删除所有curnode相关的连接路径,并从已完成路径节点中删除相关的targetnode;假如存在下一个未遍历的路径节点,则检查targetnode是否已经超出流入流出阈值,若超出则直接删除所有curnode相关的连接路径,并从已完成路径节点中删除相关的targetnode;若未超出则表明curnode和targetnode的连接是合法的,将curnode和targetnode之间的连接路径加入到连接路径库中,并标记targetnode为已遍历,并以targetnode为起始节点进入到递归过程,并重新执行上述输入第一节点的编号的步骤,由于curnode和targetnode之间形成连接路径,则该curnode的流出负载加1,并以targetnode为新的起始节点进入递归过程,重新执行输入第一节点的编号的步骤,并删除所有curnode相关的连接路径,并从已完成节点中删除相关的targetnode。
通过基于节点遍历算法,可以生成4-3层次的合法连接库如图4所示,图4展示了算法第一阶段完成的内容,获得对应数目节点的连接库,在获得第一阶段的连接路径库后,就可以进行第二阶段,逐层拼接。这步的处理较为直接,只需分别根据每个路径层中路径节点的数目,从已建立的连接路径库里面随机取出1个并进行拼接即可生成游戏路径。
作为一种可选的实施例,如果需要生成一个4-3-2节点层次型(第一层节点数量是4,第二层节点数量是3,第三层节点数量是2)的游戏路径,则可以从图4和图5中展示的多个连接路径中分别随机获取1个连接路径然后进行拼接,得到如图6所示的2层游戏路径。
基于本申请实施例提供的节点遍历与分层拼接的随机路径生成算法,可以保证每个路径节点的流入流出负载,提供给玩家探索时更具有趣味性,并且,各个路径节点间的路线均没有交叉,可以更好展示路线给玩家,便于玩家根据各路径节点的特点进行适合当前游戏战力的路线探索,减少探索路线时的错误视觉信息。并且,这个算法的路线库十分丰富,以9层探索层次为例,除起始点外,假定每层的随机节点有2-4个,每个节点的流出路径不超过3,那么此算法可以方便地生成出高达640163个随机路径地图,重复率低可玩性强。需要说明的是,由于预先定义了闯关总层数l,通过l-1次逐层拼接即可得到所需的随机游戏路径,具体到游戏应用中以一个9层探索层次为例,基于连接路径库中存储的上述640163个随机路径地图,随机获取一个预先生成的一个如图7所示的9层次的游戏路径。
根据本发明实施例,还提供了一种用于实施上述游戏路径的生成方法的装置实施例,上述游戏路径的生成装置,图8是根据本发明实施例的一种游戏路径的生成装置的结构示意图,如图8所示,上述游戏路径的生成装置,包括:获取模块80、确定模块82和生成模块84,其中:
获取模块80,用于获取游戏路径的多个路径层中每个路径层的路径节点数据;确定模块82,用于依据上述路径节点数据,确定上述多个路径层中每相邻两个路径层之间的任意一条连接路径;生成模块84,用于基于上述多个路径层中每相邻两个路径层之间的任意一条上述连接路径,生成上述游戏路径。
需要说明的是,上述各个模块是可以通过软件或硬件来实现的,例如,对于后者,可以通过以下方式实现:上述各个模块可以位于同一处理器中;或者,上述各个模块以任意组合的方式位于不同的处理器中。
此处需要说明的是,上述获取模块80、确定模块82和生成模块84对应于方法实施例中的步骤s102至步骤s106,上述模块与对应的步骤所实现的实例和应用场景相同,但不限于上述方法实施例所公开的内容。需要说明的是,上述模块作为装置的一部分可以运行在计算机终端中。
需要说明的是,本实施例的可选或优选实施方式可以参见方法实施例中的相关描述,此处不再赘述。
上述的游戏路径的生成装置还可以包括处理器和存储器,上述获取模块80、确定模块82和生成模块84等均作为程序单元存储在存储器中,由处理器执行存储在存储器中的上述程序单元来实现相应的功能。
处理器中包含内核,由内核去存储器中调取相应的程序单元,上述内核可以设置一个或以上。存储器可能包括计算机可读介质中的非永久性存储器,随机存取存储器(ram)和/或非易失性内存等形式,如只读存储器(rom)或闪存(flashram),存储器包括至少一个存储芯片。
根据本申请实施例,还提供了一种非易失性存储介质实施例。可选地,在本实施例中,上述非易失性存储介质包括存储的程序,其中,在上述程序运行时控制上述非易失性存储介质所在设备执行上述任意一种游戏路径的生成方法。
可选地,在本实施例中,上述非易失性存储介质可以位于计算机网络中计算机终端群中的任意一个计算机终端中,或者位于移动终端群中的任意一个移动终端中,上述非易失性存储介质包括存储的程序。
可选地,在程序运行时控制非易失性存储介质所在设备执行以下功能:获取游戏路径的多个路径层中每个路径层的路径节点数据;依据上述路径节点数据,确定上述多个路径层中每相邻两个路径层之间的任意一条连接路径;基于上述多个路径层中每相邻两个路径层之间的任意一条上述连接路径,生成上述游戏路径。
可选地,在程序运行时控制非易失性存储介质所在设备执行以下功能:获取上述每个路径层的路径节点数量,以及上述每个路径层中每个路径节点的路径流入流出阈值。
可选地,在程序运行时控制非易失性存储介质所在设备执行以下功能:获取预先建立的连接路径库,其中,上述连接路径库用于存储上述每相邻两个路径层之间的多条可用连接路径;依据上述路径节点数量和上述路径流入流出阈值,从上述多条可用连接路径中获取任意一条上述连接路径。
可选地,在程序运行时控制非易失性存储介质所在设备执行以下功能:获取上述多个路径层的路径层数量和上述多个路径层中存在的多个相邻路径层;依据上述路径层数量和上述多个相邻路径层,确定待拼接的多条上述连接路径;通过逐层拼接多条上述连接路径得到上述游戏路径。
可选地,在程序运行时控制非易失性存储介质所在设备执行以下功能:以上述游戏路径的第一路径层的第一节点作为起始节点,遍历上述游戏路径的第二路径层中待与上述第一节点连接的至少一个第二节点,其中,上述第一路径层与上述第二路径层为相邻路径层;确定上述第一节点和上述第二节点之间的可用连接路径,将上述可用连接路径存储至连接路径数据库中;遍历上述游戏路径的第二路径层中待与上述第二节点连接的第三节点,直至上述游戏路径中的所有节点完成遍历,其中,上述第一路径层与上述第二路径层为相邻路径层。
可选地,在程序运行时控制非易失性存储介质所在设备执行以下功能:获取上述第一节点的第一路径流入流出阈值和上述第二节点的第二路径流入流出阈值;依据上述第一路径流入流出阈值和上述第二路径流入流出阈值,确定上述可用连接路径。
可选地,在程序运行时控制非易失性存储介质所在设备执行以下功能:基于上述第一节点的节点编号判断上述第一节点是否为上述第一路径层中的结尾节点;若判断出上述第一节点为上述第一路径层中的结尾节点,则判断上述第二节点的下一节点是否为上述第二路径层中的结尾节点;若判断出上述下一节点为上述第二路径层中的结尾节点,则获取上述第一节点和上述下一节点之间的上述连接路径。
可选地,在程序运行时控制非易失性存储介质所在设备执行以下功能:若判断出上述第一节点非上述第一路径层中的结尾节点,则检测与上述第一节点的连接路径数量是否大于或等于目标数量;若检测到上述连接路径数量大于或等于上述目标数量,则将上述第一节点标记为已遍历节点,并以上述第一节点的下一节点重新作为上述起始节点,遍历上述第二路径层中待与上述第一节点的下一节点连接的上述第二节点。
可选地,在程序运行时控制非易失性存储介质所在设备执行以下功能:若检测到上述连接路径数量小于上述目标数量,则确定上述第一节点与上述第二节点的下一节点之间的可用连接路径;并将上述可用连接路径存储至上述连接路径数据库中。
可选地,在程序运行时控制非易失性存储介质所在设备执行以下功能:检测上述连接路径是否已存在于上述连接路径数据库中;若检测到上述连接路径未存在于上述连接路径数据库中,则检测上述连接路径的流入流出负载是否超出路径流入流出阈值;若检测到上述流入流出负载未超出上述路径流入流出阈值,则将上述连接路径存储至上述连接路径数据库中。
根据本申请实施例,还提供了一种处理器实施例。可选地,在本实施例中,上述处理器用于运行程序,其中,上述程序运行时执行上述任意一种游戏路径的生成方法。
本申请实施例提供了一种电子装置,设备包括处理器、存储器及存储在存储器上并可在处理器上运行的程序,处理器执行程序时实现以下步骤:获取游戏路径的多个路径层中每个路径层的路径节点数据;依据上述路径节点数据,确定上述多个路径层中每相邻两个路径层之间的任意一条连接路径;基于上述多个路径层中每相邻两个路径层之间的任意一条上述连接路径,生成上述游戏路径。
可选地,上述处理器执行程序时还用于实现以下步骤:获取上述每个路径层的路径节点数量,以及上述每个路径层中每个路径节点的路径流入流出阈值。
可选地,上述处理器执行程序时还用于实现以下步骤:获取预先建立的连接路径库,其中,上述连接路径库用于存储上述每相邻两个路径层之间的多条可用连接路径;依据上述路径节点数量和上述路径流入流出阈值,从上述多条可用连接路径中获取任意一条上述连接路径。
可选地,上述处理器执行程序时还用于实现以下步骤:获取上述多个路径层的路径层数量和上述多个路径层中存在的多个相邻路径层;依据上述路径层数量和上述多个相邻路径层,确定待拼接的多条上述连接路径;通过逐层拼接多条上述连接路径得到上述游戏路径。
可选地,上述处理器执行程序时还用于实现以下步骤:以上述游戏路径的第一路径层的第一节点作为起始节点,遍历上述游戏路径的第二路径层中待与上述第一节点连接的至少一个第二节点,其中,上述第一路径层与上述第二路径层为相邻路径层;确定上述第一节点和上述第二节点之间的可用连接路径,将可用连接路径存储至连接路径数据库中;遍历上述游戏路径的第二路径层中待与上述第二节点连接的第三节点,直至上述游戏路径中的所有节点完成遍历,其中,上述第一路径层与上述第二路径层为相邻路径层。
可选地,上述处理器执行程序时还用于实现以下步骤:获取上述第一节点的第一路径流入流出阈值和上述第二节点的第二路径流入流出阈值;依据上述第一路径流入流出阈值和上述第二路径流入流出阈值,确定上述可用连接路径。
可选地,上述处理器执行程序时还用于实现以下步骤:基于上述第一节点的节点编号判断上述第一节点是否为上述第一路径层中的结尾节点;若判断出上述第一节点为上述第一路径层中的结尾节点,则判断上述第二节点的下一节点是否为上述第二路径层中的结尾节点;若判断出上述下一节点为上述第二路径层中的结尾节点,则获取上述第一节点和上述下一节点之间的上述连接路径。
可选地,上述处理器执行程序时还用于实现以下步骤:若判断出上述第一节点非上述第一路径层中的结尾节点,则检测与上述第一节点的连接路径数量是否大于或等于目标数量;若检测到上述连接路径数量大于或等于上述目标数量,则将上述第一节点标记为已遍历节点,并以上述第一节点的下一节点重新作为上述起始节点,遍历上述第二路径层中待与上述第一节点的下一节点连接的上述第二节点。
可选地,上述处理器执行程序时还用于实现以下步骤:若检测到上述连接路径数量小于上述目标数量,则确定上述第一节点与上述第二节点的下一节点之间的可用连接路径;并将上述可用连接路径存储至上述连接路径数据库中。
可选地,上述处理器执行程序时还用于实现以下步骤:检测上述连接路径是否已存在于上述连接路径数据库中;若检测到上述连接路径未存在于上述连接路径数据库中,则检测上述连接路径的流入流出负载是否超出路径流入流出阈值;若检测到上述流入流出负载未超出上述路径流入流出阈值,则将上述连接路径存储至上述连接路径数据库中。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
在本发明的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
在本申请所提供的几个实施例中,应该理解到,所揭露的技术内容,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如上述单元的划分,可以为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。
上述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取非易失性存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个非易失性存储介质中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的非易失性存储介质包括:u盘、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,randomaccessmemory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
起点商标作为专业知识产权交易平台,可以帮助大家解决很多问题,如果大家想要了解更多知产交易信息请点击 【在线咨询】或添加微信 【19522093243】与客服一对一沟通,为大家解决相关问题。
此文章来源于网络,如有侵权,请联系删除