游戏中的最短路径搜索方法

文档序号:8431031阅读:326来源:国知局
游戏中的最短路径搜索方法
【技术领域】
[0001]本发明涉及网络信息技术领域,特别是涉及一种游戏中的最短路径搜索方法。
【背景技术】
[0002]游戏用户玩游戏时,需要操纵游戏角色执行各种动作,包括移动、战斗等。而移动又是游戏的基本动作。为了使游戏用户不必花费时间和精力去寻找游戏中的目标,自动寻路应运而生,自动寻路可以使游戏角色自动移动到游戏用户指定的目标位置。
[0003]传统的自动寻路方法都是将游戏地图划分为网格状的寻路点,游戏用户选定目标点后,从起始点向目标点开始搜索最短可达路径。这种方式在目标点距起始点比较短时可以很快找到最短路径,但是当目标点距离起始点较大时,则需要花费大量的时间去搜索,从而增加了寻路的搜索时间。

【发明内容】

[0004]本发明主要解决的技术问题是提供一种游戏中的最短路径搜索方法,能够减少寻路的搜索时间。
[0005]为解决上述技术问题,本发明采用的一个技术方案是:提供一种游戏中的最短路径搜索方法,所述最短路径搜索方法包括:S1,接收寻路指令,所述寻路指令包括起始点和目标点;S2,根据所述寻路指令在当前地图中确定所述起始点和所述目标点之间是否存在两个相互之间具有跳转关系的跳转点,所述当前地图划分为网格化的寻路点,所述起始点、所述目标点和所述跳转点属于所述寻路点;S3,如果存在所述两个跳转点,在所述当前地图中从所述起始点向与所述起始点最近的第一跳转点搜索第一直达路径,同时从所述目标点向与所述目标点最近的第二跳转点搜索第二直达路径;S4,将所述第一直达路径和所述第二直达路径作为最短寻路路径;S5,如果不存在所述两个跳转点,在当前地图中从所述起始点向所述目标点搜索第一直达路径,同时从所述目标点向所述起始点搜索第二直达路径;S6,当所述第一直达路径和所述第二直达路径出现重合的寻路点时停止搜索;S7,将所述第一直达路径和所述第二直达路径相连接作为最短寻路路径。
[0006]优选地,在所述步骤SI之前,所述最短路径搜索方法还包括:当游戏用户在所述当前地图上选定所述目标点时生成寻路指令,所述起始点为所述游戏用户操纵的游戏角色当前所处的寻路点。
[0007]本发明的有益效果是:区别于现有技术的情况,本发明的游戏中的最短路径搜索方法在确定起始点和目标点之间存在两个相互之间具有跳转关系的跳转点后,从起始点和目标点同时向最近的跳转点搜索直达路径,在不存在上述跳转点后,从起始点和目标点同时向对方搜索直达路径,搜索数据量显著减少,从而能够减少寻路的搜索时间。
【附图说明】
[0008]图1是本发明游戏中的最短路径搜索方法实施例的示意图。
【具体实施方式】
[0009]下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本发明的一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0010]参见图1,是本发明游戏中的最短路径搜索方法实施例的示意图。本发明实施例的最短路径搜索方法包括以下步骤:
[0011]S1:接收寻路指令,寻路指令包括起始点和目标点。
[0012]其中,寻路指令由游戏用户触发。具体而言,在本实施例中,在步骤SI之前,最短路径搜索方法还包括:当游戏用户在当前地图上选定目标点时生成寻路指令,起始点为游戏用户操纵的游戏角色当前所处的寻路点。
[0013]S2:根据寻路指令在当前地图中确定起始点和目标点之间是否存在两个相互之间具有跳转关系的跳转点,当前地图划分为网格化的寻路点,起始点、目标点和跳转点属于寻路点。
[0014]其中,地图划分为网格化的寻路点,一个寻路点为一个网格,所有地图场景包括地面、森林等填充在寻路点中。
[0015]相互之间具有跳转关系的跳转点可以使得游戏角色无需在两个跳转点之间的地图上移动,而是瞬间跳转移动。跳转点例如游戏场景中的传送门。
[0016]S3:如果存在两个跳转点,在当前地图中从起始点向与起始点最近的第一跳转点搜索第一直达路径,同时从目标点向与目标点最近的第二跳转点搜索第二直达路径。
[0017]其中,搜索直达路径的方式可以是通过A星算法实现,A星算法属于本领域普通技术人员的公知常识,此处不再赘述。在搜索第一直达路径和第二直达路径过程中,所遍历的寻路点是从起始点向目标点单向搜索所遍历的寻路点的一半或以下,从而能够显著减少搜索的数据量。
[0018]S4:将第一直达路径和第二直达路径作为最短寻路路径。
[0019]其中,最短寻路路径确定后,游戏角色将依照最短寻路路径开始移动,直到到达目标点。
[0020]S5:如果不存在两个跳转点,在当前地图中从起始点向目标点搜索第一直达路径,同时从目标点向起始点搜索第二直达路径。
[0021 ] 其中,搜索直达路径的方式可以是通过A星算法实现,A星算法属于本领域普通技术人员的公知常识,此处不再赘述。在搜索第一直达路径和第二直达路径过程中,所遍历的寻路点是从起始点向目标点单向搜索所遍历的寻路点的一半或以下,从而能够显著减少搜索的数据量。
[0022]S6:当第一直达路径和第二直达路径出现重合的寻路点时停止搜索。
[0023]其中,第一直达路径和第二直达路径出现重合的寻路点表明第一直达路径和第二直达路径相互衔接,从而构成一条完整的路径。如果出现重合的寻路点,则停止搜索,避免重复搜索。
[0024]S7:将第一直达路径和第二直达路径相连接作为最短寻路路径。
[0025]通过上述方式,本发明实施例的游戏中的最短路径搜索方法同时在起始点和目标点向两者之间的距离最近的跳转点进行双向搜索,如果跳转点不存在,则同时在起始点和目标点进行双向搜索,搜索过程中所遍历的寻路点显著减少,从而能够减少寻路的搜索时间。
[0026]以上所述仅为本发明的实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。
【主权项】
1.一种游戏中的最短路径搜索方法,其特征在于,所述最短路径搜索方法包括: SI,接收寻路指令,所述寻路指令包括起始点和目标点; S2,根据所述寻路指令在当前地图中确定所述起始点和所述目标点之间是否存在两个相互之间具有跳转关系的跳转点,所述当前地图划分为网格化的寻路点,所述起始点、所述目标点和所述跳转点属于所述寻路点; S3,如果存在所述两个跳转点,在所述当前地图中从所述起始点向与所述起始点最近的第一跳转点搜索第一直达路径,同时从所述目标点向与所述目标点最近的第二跳转点搜索第二直达路径; S4,将所述第一直达路径和所述第二直达路径作为最短寻路路径; S5,如果不存在所述两个跳转点,在当前地图中从所述起始点向所述目标点搜索第一直达路径,同时从所述目标点向所述起始点搜索第二直达路径; S6,当所述第一直达路径和所述第二直达路径出现重合的寻路点时停止搜索; S7,将所述第一直达路径和所述第二直达路径相连接作为最短寻路路径。
2.根据权利要求1所述的游戏中的最短路径搜索方法,其特征在于,在所述步骤SI之前,所述最短路径搜索方法还包括: 当游戏用户在所述当前地图上选定所述目标点时生成寻路指令,所述起始点为所述游戏用户操纵的游戏角色当前所处的寻路点。
【专利摘要】本发明提供了一种游戏中的最短路径搜索方法。其包括:接收寻路指令,根据寻路指令在当前地图中确定起始点和目标点之间是否存在两个相互之间具有跳转关系的跳转点;如果存在两个跳转点,在当前地图中从起始点向与起始点最近的第一跳转点搜索第一直达路径,同时从目标点向与目标点最近的第二跳转点搜索第二直达路径;将第一直达路径和第二直达路径作为最短寻路路径;如果不存在两个跳转点,在当前地图中从起始点向目标点搜索第一直达路径,同时从目标点向起始点搜索第二直达路径;当第一直达路径和第二直达路径出现重合的寻路点时停止搜索;将第一直达路径和第二直达路径相连接作为最短寻路路径。本发明能够减少寻路的搜索时间。
【IPC分类】G06F19-00
【公开号】CN104751001
【申请号】CN201510171002
【发明人】刘自明, 何啸威
【申请人】四川天上友嘉网络科技有限公司
【公开日】2015年7月1日
【申请日】2015年4月13日
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1