本申请涉及计算机领域,特别是涉及渐进式寻路的方法、系统、电子装置和存储介质。
背景技术:
随着信息技术的快速发展,游戏行业的发展也越来越快,人工智能技术应用于游戏开发中能提高游戏的可玩性和游戏体验的真实性,其中基于人工智能的寻路算法在游戏开发中比较突出,例如,a*搜索算法是寻路算法中被广泛应用的最短路径搜索算法之一,能够在短时间内遍历诸多地点,并找出最短的路径。在游戏中,无论是对玩家控制的虚拟角色还是系统控制的怪物角色在完成任务过程中,寻路算法非常重要,关系到用户的游戏体验。
在相关技术中,由于寻路算法计算量大,造成cpu性能消耗大,且消耗的cpu资源时多时少,特别是在地形复杂的情况下会出现逻辑卡顿,造成用户体验感差。
目前针对相关技术中,在地形复杂寻路计算量大的情况下,cpu资源消耗大且不可控的问题,尚未提出有效的解决方案。
技术实现要素:
本申请实施例提供了渐进式寻路的方法、系统、电子装置和存储介质,至少解决相关技术中在地形复杂寻路计算量大的情况下,cpu资源消耗大且不可控的问题。
第一方面,本申请实施例提供了一种渐进式寻路的方法,所述方法包括:
根据寻路算法对游戏对象在寻路地图的第一起点与第一目标点之间的区域进行寻路,获得不同的格子,多个可通行的所述格子组成第一集合;
比较预设最大步骤参数与所述第一集合的大小,判断所述游戏对象是否能从所述第一起点到达所述第一目标点;
在判断不能到达所述第一目标点的情况下,从所述第一集合中筛选出距离所述第一目标点最近的格子;
将所述最近的格子作为第二起点,对所述第二起点到所述第一目标点之间的区域进行寻路,获得不同的格子,多个可通行的所述格子组成第二集合;
比较所述预设最大步骤参数与所述第二集合的大小,判断所述游戏对象是否能从所述第二起点到达所述第一目标点;
在判断能到达所述第一目标点的情况下,指示所述游戏对象移动至所述第一目标点。
在其中一些实施例中,所述在判断不能到达所述第一目标点的情况下,从所述第一集合中筛选出距离所述第一目标点最近的格子之后,和对所述第二起点到所述第一目标点之间的区域进行寻路之前,所述方法包括:
指示所述游戏对象移动至所述最近的格子。
在其中一些实施例中,所述将所述最近的格子作为第二起点之后,所述方法包括:
在所述第一目标点变更为第二目标点后,对所述第二起点到所述第二目标点之间的区域进行寻路,获得不同的格子,多个可通行的所述格子组成第三集合;
比较所述预设最大步骤参数与所述第三集合的大小,判断所述游戏对象是否能从所述第二起点到达所述第二目标点;
在判断能到达所述第二目标点的情况下,指示所述游戏对象移动至所述第二目标点。
在其中一些实施例中,配置所述预设最大步骤参数包括:
配置所述预设最大步骤参数大于第一预设阈值,并小于第二预设阈值。
第二方面,本申请实施例提供了一种渐进式寻路的系统,所述系统包括:
第一寻路模块,用于根据寻路算法对游戏对象在寻路地图的第一起点与第一目标点之间的区域进行寻路,获得不同的格子,多个可通行的所述格子组成第一集合,
比较预设最大步骤参数与所述第一集合的大小,判断所述游戏对象是否能从所述第一起点到达所述第一目标点,
在判断不能到达所述第一目标点的情况下,从所述第一集合中筛选出距离所述第一目标点最近的格子;
第二寻路模块,用于将所述最近的格子作为第二起点,对所述第二起点到所述第一目标点之间的区域进行寻路,获得不同的格子,多个可通行的所述格子组成第二集合,
比较所述预设最大步骤参数与所述第二集合的大小,判断所述游戏对象是否能从所述第二起点到达所述第一目标点,
在判断能到达所述第一目标点的情况下,指示所述游戏对象移动至所述第一目标点。
在其中一些实施例中,所述第一寻路模块,用于所述在判断不能到达所述第一目标点的情况下,从所述第一集合中筛选出距离所述第一目标点最近的格子之后,和对所述第二起点到所述第一目标点之间的区域进行寻路之前,指示所述游戏对象移动至所述最近的格子。
在其中一些实施例中,所述系统还包括第三寻路模块,
所述第三寻路模块,用于将所述最近的格子作为第二起点之后,且在所述第一目标点变更为第二目标点后,对所述第二起点到所述第二目标点之间的区域进行寻路,获得不同的格子,多个可通行的所述格子组成第三集合,
比较所述预设最大步骤参数与所述第三集合的大小,判断所述游戏对象是否能从所述第二起点到达所述第二目标点,
在判断能到达所述第二目标点的情况下,指示所述游戏对象移动至所述第二目标点。
在其中一些实施例中,配置所述预设最大步骤参数包括:
所述第一寻路模块配置所述预设最大步骤参数大于第一预设阈值,并小于第二预设阈值。
第三方面,本申请实施例提供了一种电子装置,包括存储器和处理器,所述存储器中存储有计算机程序,所述处理器被设置为运行所述计算机程序以执行上述任一项所述的渐进式寻路的方法。
第四方面,本申请实施例提供了一种存储介质,所述存储介质中存储有计算机程序,其中,所述计算机程序被设置为运行时执行上述任一项所述的渐进式寻路的方法。
相比于相关技术,本申请实施例提供的一种渐进式寻路的方法,根据寻路算法对游戏对象在寻路地图的第一起点与第一目标点之间的区域进行寻路,获得不同的格子,多个可通行的格子组成第一集合;比较预设最大步骤参数与第一集合的大小,判断游戏对象是否能从第一起点到达第一目标点;在判断不能到达第一目标点的情况下,从第一集合中筛选出距离第一目标点最近的格子;将最近的格子作为第二起点,对第二起点到第一目标点之间的区域进行寻路,获得不同的格子,多个可通行的格子组成第二集合;比较预设最大步骤参数与第二集合的大小,判断游戏对象是否能从第二起点到达第一目标点;在判断能到达第一目标点的情况下,指示游戏对象移动至第一目标点,解决了在地形复杂寻路计算量大的情况下,cpu资源消耗大且不可控的问题,由精确寻路变为模糊寻路,降低了cpu资源的消耗,且使得寻路消耗的cpu资源可控,提高了用户的游戏体验感。
附图说明
此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
图1是根据本申请实施例的一种渐进式寻路的方法的应用环境示意图;
图2是根据本申请实施例的渐进式寻路方法的流程图;
图3是根据本申请实施例的a*寻路算法的寻路示意图;
图4是根据本申请实施例的第一次寻路的寻路示意图;
图5是根据本申请实施例的第二次寻路的寻路示意图;
图6是根据本申请实施例的第一次寻路之后游戏对象到达的距离第一目标点最近的格子的示意图;
图7是根据本申请实施例的渐进式寻路系统的结构框图;
图8是根据本申请实施例的渐进式寻路系统的另一种结构框图;
图9是根据本申请实施例的电子设备的内部结构示意图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行描述和说明。应当理解,此处所描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。基于本申请提供的实施例,本领域普通技术人员在没有作出创造性劳动的前提下所获得的所有其他实施例,都属于本申请保护的范围。此外,还可以理解的是,虽然这种开发过程中所作出的努力可能是复杂并且冗长的,然而对于与本申请公开的内容相关的本领域的普通技术人员而言,在本申请揭露的技术内容的基础上进行的一些设计,制造或者生产等变更只是常规的技术手段,不应当理解为本申请公开的内容不充分。
在本申请中提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本申请的至少一个实施例中。在说明书中的各个位置出现该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域普通技术人员显式地和隐式地理解的是,本申请所描述的实施例在不冲突的情况下,可以与其它实施例相结合。
除非另作定义,本申请所涉及的技术术语或者科学术语应当为本申请所属技术领域内具有一般技能的人士所理解的通常意义。本申请所涉及的“一”、“一个”、“一种”、“该”等类似词语并不表示数量限制,可表示单数或复数。本申请所涉及的术语“包括”、“包含”、“具有”以及它们任何变形,意图在于覆盖不排他的包含;例如包含了一系列步骤或模块(单元)的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可以还包括没有列出的步骤或单元,或可以还包括对于这些过程、方法、产品或设备固有的其它步骤或单元。本申请所涉及的“连接”、“相连”、“耦接”等类似的词语并非限定于物理的或者机械的连接,而是可以包括电气的连接,不管是直接的还是间接的。本申请所涉及的“多个”是指大于或者等于两个。“和/或”描述关联对象的关联关系,表示可以存在三种关系,例如,“a和/或b”可以表示:单独存在a,同时存在a和b,单独存在b这三种情况。本申请所涉及的术语“第一”、“第二”、“第三”等仅仅是区别类似的对象,不代表针对对象的特定排序。
本申请提供的渐进式寻路的方法,可以应用于如图1所示的应用环境中,图1是根据本申请实施例的一种渐进式寻路的方法的应用环境示意图,如图1所示,其中,该应用环境的系统包括服务器10和智能终端设备11,该方法具体实现为:服务器10根据寻路算法对游戏对象在寻路地图的第一起点与第一目标点之间的区域进行寻路,获得不同的格子,多个可通行的格子组成第一集合;接着比较预设最大步骤参数与第一集合的大小,判断游戏对象是否能从第一起点到达第一目标点;在判断不能到达第一目标点的情况下,从第一集合中筛选出距离第一目标点最近的格子,继续寻路;然后将该最近的格子作为第二起点,对第二起点到第一目标点之间的区域进行寻路,获得不同的格子,多个可通行的格子组成第二集合;通过比较预设最大步骤参数与第二集合的大小,判断游戏对象是否能从第二起点到达第一目标点;在判断能到达第一目标点的情况下,指示游戏对象移动至第一目标点,寻路结束,解决了在地形复杂寻路计算量大的情况下,cpu资源消耗大且不可控的问题,由精确寻路变为模糊寻路,降低了cpu资源的消耗,且使得寻路消耗的cpu资源可控,提高了用户的游戏体验感。
本实施例提供了一种渐进式寻路的方法,图2是根据本申请实施例的渐进式寻路方法的流程图,如图2所示,该流程包括如下步骤:
步骤s201,根据寻路算法对游戏对象在寻路地图的第一起点与第一目标点之间的区域进行寻路,获得不同的格子,多个可通行的格子组成第一集合,其中,寻路是游戏中比较重要的一个组成部分,不仅是游戏ai而且用户操控的人物对象都需要用到自动寻路,寻路是指找到一条从某个起点到某个终点的可通过路径,因为实际情况中,起点和终点之间的直线方向往往有障碍物,便需要一个搜索的寻路算法来解决,寻路算法有很多种,例如a*寻路算法,图3是根据本申请实施例的a*寻路算法的寻路示意图,如图3所示,可选的,本实施例采用a*寻路算法,根据a*寻路算法对游戏对象在寻路地图的第一起点与第一目标点之间的区域进行寻路,获得不同的格子,9个格子组成第一集合(图3中方格纹的格子),黑色的格子代表障碍物,即格子不可通行,其中,寻路地图由大小相等的不同属性的格子组成,这些格子都不可再分割成更小的格子,它们是地图上的最小完整单位,格子在地图中的位置即为坐标,为保证现有的格子能描述一片完整的区域,这个坐标是连续的而非离散的;
步骤s202,比较预设最大步骤参数与第一集合的大小,判断游戏对象是否能从第一起点到达第一目标点,在判断不能到达第一目标点的情况下,从第一集合中筛选出距离第一目标点最近的格子,本实施例通过比较预设最大步骤参数与第一集合的大小,判断游戏中的ai对象以及用户操作的任务对象是否能从第一起点到达第一目标点,在判断不能到达第一目标点的情况下,从第一集合中筛选出距离第一目标点最近的格子,其中,如果预设最大步骤参数大于第一集合数,则判断游戏对象能从第一起点到达第一目标点,反之,如果预设最大步骤参数小于第一集合数,则判断游戏对象不能从第一起点到达第一目标点,可选的,假设本实施例中的预设最大步骤参数设定为5,第一集合数为9,图4是根据本申请实施例的第一次寻路的寻路示意图,如图4所示,由于预设最大步骤参数小于第一集合数,游戏对象不能从第一起点到达第一目标点,因此,第一次寻路查找第一集合中的5个格子(图4中方格纹的格子)并筛选出距离第一目标点最近的格子,继续寻路,本实施例采用预设最大步骤参数,将需要寻路的总格子数进行拆分,调整每次寻路的格子数量,以此减少每次的计算量,控制每次寻路的cpu消耗,降低单次寻路的cpu消耗;
步骤s203,将最近的格子作为第二起点,对第二起点到第一目标点之间的区域进行寻路,获得不同的格子,多个可通行的格子组成第二集合,图5是根据本申请实施例的第二次寻路的寻路示意图,如图5所示,可选的,本实施例中将最近的格子作为第二起点,对第二起点到第一目标点之间的区域进行寻路,获得不同的格子,4个可通行的格子组成第二集合(图5中竖纹的格子);
步骤s204,比较预设最大步骤参数与第二集合的大小,判断游戏对象是否能从第二起点到达第一目标点,在判断能到达第一目标点的情况下,指示游戏对象移动至第一目标点,寻路结束。可选的,本实施例通过比较预设最大步骤参数与第二集合的大小,判断游戏对象是否能从第二起点到达第一目标点,在判断能到达第一目标点的情况下,指示游戏对象移动至第一目标点,其中,如果预设最大步骤参数大于第二集合数,则判断游戏对象能从第二起点到达第一目标点,反之,如果预设最大步骤参数小于第二集合数,则判断游戏对象不能从第二起点到达第一目标点。根据图5所示,第二集合数4小于预设最大步骤参数5,游戏对象能从第二起点到达第一目标点,因此第二次寻路查找第二集合中的4个竖纹的格子,指示游戏对象移动至第一目标点。本实施例将从起点到目标点的一次寻路分为多次,使其在有限的步骤中,通过多次寻路到达目标点,减少单次寻路的计算量,使得寻路消耗的cpu资源可控,有效降低cpu资源消耗。
通过上述步骤s201至步骤s204,相对于现有技术中,由于寻路算法计算量大,造成cpu性能消耗大,且消耗的cpu资源时多时少,特别是在地形复杂的情况下会出现逻辑卡顿,造成用户体验感差,cpu资源消耗大且不可控的问题。本实施例采用设置最大步骤参数的方法,根据寻路算法对游戏对象在寻路地图的第一起点与第一目标点之间的区域进行寻路,获得不同的格子,多个可通行的格子组成第一集合;接着比较预设最大步骤参数与第一集合的大小,判断游戏对象是否能从第一起点到达第一目标点;在判断不能到达第一目标点的情况下,从第一集合中筛选出距离第一目标点最近的格子,继续寻路;然后将该最近的格子作为第二起点,对第二起点到第一目标点之间的区域进行寻路,获得不同的格子,多个可通行的格子组成第二集合;通过比较预设最大步骤参数与第二集合的大小,判断游戏对象是否能从第二起点到达第一目标点;在判断能到达第一目标点的情况下,指示游戏对象移动至第一目标点,寻路结束,解决了现有技术中在地形复杂寻路计算量大的情况下,cpu资源消耗大且不可控的问题,由精确寻路变为模糊寻路,降低了cpu资源的消耗,且使得寻路消耗的cpu资源可控,提高了用户的游戏体验感。
在其中一些实施例中,在判断不能到达第一目标点的情况下,从第一集合中筛选出距离第一目标点最近的格子之后,和对第二起点到第一目标点之间的区域进行寻路之前,指示游戏对象移动至最近的格子。图6是根据本申请实施例的第一次寻路之后游戏对象到达的距离第一目标点最近的格子的示意图,如图6所示,可选的,本实施例中在判断不能到达第一目标点的情况下,从第一集合中筛选出距离第一目标点最近的格子之后,和对第二起点到第一目标点之间的区域进行寻路之前,指示游戏对象移动至距离第一目标点最近的格子(图6中点纹的格子)。
在其中一些实施例中,将最近的格子作为第二起点之后,在第一目标点变更为第二目标点后,对第二起点到第二目标点之间的区域进行寻路,获得不同的格子,多个可通行的格子组成第三集合,比较预设最大步骤参数与第三集合的大小,判断游戏对象是否能从第二起点到达第二目标点,在判断能到达第二目标点的情况下,指示游戏对象移动至第二目标点。可选的,本实施例中将最近的格子作为第二起点之后,在第一目标点变更为第二目标点后,对第二起点到第二目标点之间的区域进行寻路,获得不同的格子,多个可通行的格子组成第三集合,比较预设最大步骤参数与第三集合的大小,判断游戏对象是否能从第二起点到达第二目标点,其中,如果预设最大步骤参数大于第三集合数,则判断游戏对象能从第二起点到达第二目标点,反之,如果预设最大步骤参数小于第三集合数,则判断游戏对象不能从第二起点到达第三目标点,在判断能到达第二目标点的情况下,指示游戏对象移动至第二目标点,而在判断不能到达第二目标点的情况下,从第三集合中筛选出距离第二目标点最近的格子,将该最近的格子作为第三起点,重复上述步骤s202和步骤s203,直至到达最终的目标点。本实施例通过最大步骤参数能随时调整寻路的目标点,减少cpu消耗,提高服务器的效率。
在其中一些实施例中,配置预设最大步骤参数包括:配置预设最大步骤参数大于第一预设阈值,并小于第二预设阈值,其中,第一预设阈值和第二预设阈值根据实际游戏中的寻路需要进行设置,可选的,本实施例中配置的预设最大参数步骤要大于第一预设阈值,即单次寻路遍历的格子数不能太少,否则会导致寻路效果不佳,同时,预设最大参数步骤要小于第二预设阈值,即单次寻路需要遍历的格子不能过大,过大会导致单次寻路的计算量大,cpu消耗过多,尤其地形比较复杂时会出现逻辑卡顿,造成用户体验体验差。本实施例通过配置预设最大参数步骤能有效控制单次寻路消耗的cpu资源,提高寻路效果和良好的用户体验感。
需要说明的是,在上述流程中或者附图的流程图中示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
本实施例还提供了一种渐进式寻路的系统,该系统用于实现上述实施例及优选实施方式,已经进行过说明的不再赘述。如以下所使用的,术语“模块”、“单元”、“子单元”等可以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的装置较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。
图7是根据本申请实施例的渐进式寻路系统的结构框图,如图7所示,该系统包括第一寻路模块71和第二寻路模块72:
第一寻路模块71,用于根据寻路算法对游戏对象在寻路地图的第一起点与第一目标点之间的区域进行寻路,获得不同的格子,多个可通行的格子组成第一集合,比较预设最大步骤参数与第一集合的大小,判断游戏对象是否能从第一起点到达第一目标点,在判断不能到达第一目标点的情况下,从第一集合中筛选出距离第一目标点最近的格子,继续寻路;第二寻路模块72,用于将最近的格子作为第二起点,对第二起点到第一目标点之间的区域进行寻路,获得不同的格子,多个可通行的格子组成第二集合,比较预设最大步骤参数与第二集合的大小,判断游戏对象是否能从第二起点到达第一目标点,在判断能到达第一目标点的情况下,指示游戏对象移动至第一目标点,结束寻路。
通过上述系统,第一寻路模块71采用预设最大步骤参数,将需要寻路的总格子数按最大步骤参数进行拆分,筛选出距离目标点最近的格子,继续进行寻路,通过调整每次寻路的格子数量,以此减少每次的计算量,控制每次寻路的cpu消耗,降低单次寻路的cpu消耗;第二寻路模块72从第二起点开始继续寻路,将从起点到目标点的一次寻路分为多次,使其在有限的步骤中,通过多次寻路到达目标点,减少单次寻路的计算量,使得寻路消耗的cpu资源可控,有效降低cpu资源消耗。整个系统解决了在地形复杂寻路计算量大的情况下,cpu资源消耗大且不可控的问题,由精确寻路变为模糊寻路,降低了cpu资源的消耗,且使得寻路消耗的cpu资源可控,提高了寻路效果和用户的游戏体验感。
在其中一些实施例中,第一寻路模块71还用于在判断不能到达第一目标点的情况下,从第一集合中筛选出距离第一目标点最近的格子之后,和对第二起点到第一目标点之间的区域进行寻路之前,指示游戏对象移动至最近的格子。可选的,本实施例中在判断不能到达第一目标点的情况下,从第一集合中筛选出距离第一目标点最近的格子之后,和对第二起点到第一目标点之间的区域进行寻路之前,指示游戏对象移动至距离第一目标点最近的格子(图6中点纹的格子)。
在其中一些实施例中,系统还包括第三寻路模块,图8是根据本申请实施例的渐进式寻路系统的另一种结构框图,如图8所示,该系统包括第一寻路模块81和第三寻路模块82,第三寻路模块82,用于将最近的格子作为第二起点之后,在第一目标点变更为第二目标点后,对第二起点到第二目标点之间的区域进行寻路,获得不同的格子,多个可通行的格子组成第三集合,比较预设最大步骤参数与第三集合的大小,判断游戏对象是否能从第二起点到达第二目标点,在判断能到达第二目标点的情况下,指示游戏对象移动至第二目标点。可选的,本实施例中将最近的格子作为第二起点之后,在第一目标点变更为第二目标点后,对第二起点到第二目标点之间的区域进行寻路,获得不同的格子,多个可通行的格子组成第三集合,比较预设最大步骤参数与第三集合的大小,判断游戏对象是否能从第二起点到达第二目标点,其中,如果预设最大步骤参数大于第三集合数,则判断游戏对象能从第二起点到达第二目标点,反之,如果预设最大步骤参数小于第三集合数,则判断游戏对象不能从第二起点到达第三目标点,在判断能到达第二目标点的情况下,指示游戏对象移动至第二目标点,而在判断不能到达第二目标点的情况下,从第三集合中筛选出距离第二目标点最近的格子,将该最近的格子作为第三起点,重复上述步骤s202和步骤s203,直至到达最终的目标点。本实施例通过最大步骤参数能随时调整寻路的目标点,减少cpu消耗,提高服务器的效率。
在其中一些实施例中,第一寻路模块71还用于配置预设最大步骤参数包括:配置预设最大步骤参数大于第一预设阈值,并小于第二预设阈值,其中,第一预设阈值和第二预设阈值根据实际游戏中的寻路需要进行设置,可选的,本实施例中配置的预设最大参数步骤要大于第一预设阈值,即单次寻路遍历的格子数不能太少,否则会导致寻路效果不佳,同时,预设最大参数步骤要小于第二预设阈值,即单次寻路需要遍历的格子不能过大,过大会导致单次寻路的计算量大,cpu消耗过多,尤其地形比较复杂时会出现逻辑卡顿,造成用户体验体验差。本实施例通过配置预设最大参数步骤能有效控制单次寻路消耗的cpu资源,提高寻路效果和良好的用户体验感。
下面结合应用场景对本发明进行详细的说明。
本发明的目的是提供一种渐进式寻路的方法和系统,本实施例中的渐进式寻路的技术方案的流程步骤包括:
s1,根据a*算法对游戏对象在寻路地图的第一起点与第一目标点之间的区域进行寻路,前进一步找到一个新的格子,获得不同的格子;
s2,将获得的可通行的格子组成集合s,如果集合s的大小超过预设最大步骤参数n,则从s中选取一个距离目标点最近的格子;
s3,判断最近的格子是否是目标点,如果是则查找成功,指示游戏对象到达目标点,结束寻路;否则转到步骤s1,重复执行步骤s1到s3,直至到达目标点,结束寻路。
本实施例还提供了一种电子装置,包括存储器和处理器,该存储器中存储有计算机程序,该处理器被设置为运行计算机程序以执行上述任一项方法实施例中的步骤。
可选地,上述电子装置还可以包括传输设备以及输入输出设备,其中,该传输设备和上述处理器连接,该输入输出设备和上述处理器连接。
另外,结合上述实施例中的渐进式寻路的方法,本申请实施例可提供一种存储介质来实现。该存储介质上存储有计算机程序;该计算机程序被处理器执行时实现上述实施例中的任意一种渐进式寻路的方法。
在一个实施例中,图9是根据本申请实施例的电子设备的内部结构示意图,如图9所示,提供了一种电子设备,该电子设备可以是服务器,其内部结构图可以如图9所示。该电子设备包括通过系统总线连接的处理器、存储器、网络接口和数据库。其中,该电子设备的处理器用于提供计算和控制能力。该电子设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该电子设备的数据库用于存储数据。该电子设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种渐进式寻路的方法。
本领域技术人员可以理解,图9中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的电子设备的限定,具体的电子设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,该计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(rom)、可编程rom(prom)、电可编程rom(eprom)、电可擦除可编程rom(eeprom)或闪存。易失性存储器可包括随机存取存储器(ram)或者外部高速缓冲存储器。作为说明而非局限,ram以多种形式可得,诸如静态ram(sram)、动态ram(dram)、同步dram(sdram)、双数据率sdram(ddrsdram)、增强型sdram(esdram)、同步链路(synchlink)dram(sldram)、存储器总线(rambus)直接ram(rdram)、直接存储器总线动态ram(drdram)、以及存储器总线动态ram(rdram)等。
本领域的技术人员应该明白,以上所述实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。
1.一种渐进式寻路的方法,其特征在于,所述方法包括:
根据寻路算法对游戏对象在寻路地图的第一起点与第一目标点之间的区域进行寻路,获得不同的格子,多个可通行的所述格子组成第一集合;
比较预设最大步骤参数与所述第一集合的大小,判断所述游戏对象是否能从所述第一起点到达所述第一目标点;
在判断不能到达所述第一目标点的情况下,从所述第一集合中筛选出距离所述第一目标点最近的格子;
将所述最近的格子作为第二起点,对所述第二起点到所述第一目标点之间的区域进行寻路,获得不同的格子,多个可通行的所述格子组成第二集合;
比较所述预设最大步骤参数与所述第二集合的大小,判断所述游戏对象是否能从所述第二起点到达所述第一目标点;
在判断能到达所述第一目标点的情况下,指示所述游戏对象移动至所述第一目标点。
2.根据权利要求1所述的方法,其特征在于,所述在判断不能到达所述第一目标点的情况下,从所述第一集合中筛选出距离所述第一目标点最近的格子之后,和对所述第二起点到所述第一目标点之间的区域进行寻路之前,所述方法包括:
指示所述游戏对象移动至所述最近的格子。
3.根据权利要求1或2所述的方法,其特征在于,所述将所述最近的格子作为第二起点之后,所述方法包括:
在所述第一目标点变更为第二目标点后,对所述第二起点到所述第二目标点之间的区域进行寻路,获得不同的格子,多个可通行的所述格子组成第三集合;
比较所述预设最大步骤参数与所述第三集合的大小,判断所述游戏对象是否能从所述第二起点到达所述第二目标点;
在判断能到达所述第二目标点的情况下,指示所述游戏对象移动至所述第二目标点。
4.根据权利要求1所述的方法,其特征在于,配置所述预设最大步骤参数包括:
配置所述预设最大步骤参数大于第一预设阈值,并小于第二预设阈值。
5.一种渐进式寻路的系统,其特征在于,所述系统包括:
第一寻路模块,用于根据寻路算法对游戏对象在寻路地图的第一起点与第一目标点之间的区域进行寻路,获得不同的格子,多个可通行的所述格子组成第一集合,
比较预设最大步骤参数与所述第一集合的大小,判断所述游戏对象是否能从所述第一起点到达所述第一目标点,
在判断不能到达所述第一目标点的情况下,从所述第一集合中筛选出距离所述第一目标点最近的格子;
第二寻路模块,用于将所述最近的格子作为第二起点,对所述第二起点到所述第一目标点之间的区域进行寻路,获得不同的格子,多个可通行的所述格子组成第二集合,
比较所述预设最大步骤参数与所述第二集合的大小,判断所述游戏对象是否能从所述第二起点到达所述第一目标点,
在判断能到达所述第一目标点的情况下,指示所述游戏对象移动至所述第一目标点。
6.根据权利要求5所述的系统,其特征在于,所述第一寻路模块,用于所述在判断不能到达所述第一目标点的情况下,从所述第一集合中筛选出距离所述第一目标点最近的格子之后,和对所述第二起点到所述第一目标点之间的区域进行寻路之前,指示所述游戏对象移动至所述最近的格子。
7.根据权利要求5或6所述的系统,其特征在于,所述系统还包括第三寻路模块,
所述第三寻路模块,用于将所述最近的格子作为第二起点之后,且在所述第一目标点变更为第二目标点后,对所述第二起点到所述第二目标点之间的区域进行寻路,获得不同的格子,多个可通行的所述格子组成第三集合,
比较所述预设最大步骤参数与所述第三集合的大小,判断所述游戏对象是否能从所述第二起点到达所述第二目标点,
在判断能到达所述第二目标点的情况下,指示所述游戏对象移动至所述第二目标点。
8.根据权利要求5所述的系统,其特征在于,配置所述预设最大步骤参数包括:
所述第一寻路模块配置所述预设最大步骤参数大于第一预设阈值,并小于第二预设阈值。
9.一种电子装置,包括存储器和处理器,其特征在于,所述存储器中存储有计算机程序,所述处理器被设置为运行所述计算机程序以执行权利要求1至4中任一项所述的渐进式寻路的方法。
10.一种存储介质,其特征在于,所述存储介质中存储有计算机程序,其中,所述计算机程序被设置为运行时执行权利要求1至4中任一项所述的渐进式寻路的方法。
技术总结