一种组队的方法、装置及电子设备
技术领域
本发明涉及计算机技术领域和互联网技术领域,特别是涉及一种组队的方法、装置及电子设备。
背景技术
在计算机技术领域和互联网技术领域中,经常需要由多个参与者共同完成一个任务,例如,在一个虚拟场景下,由多个参与者以虚拟身份共同完成一个任务。
上述多个参与者中,可以包括发起任务的参与者,其他参与者可以是主动申请加入,也可以是被动邀请加入,这多个参与者相当于是组成了一个完成任务的队伍,发起任务的参与者相当于队长的角色。
实际应用中,在多个参与者共同完成一个任务的过程中,可能由于一些原因,将暂停任务,并在满足重启条件后,重新启动任务。目前,在重启任务后,仍然只能是由原来的这多个参与者继续共同完成该任务,无法实现完成该任务的参与者的变更。
另外,在多个参与者组成一个队伍共同完成一个任务过程中,其他参与者要么因为不能与该队伍进入同一个的虚拟场景,要么因为与该队伍的任务执行进度不同,使得上述其他参与者不能与该队伍重新再组成一个新的队伍共同完成该任务。由上述可知,针对一个待完成的任务,现有的组队方法会导致完成该任务的多个参与者的组成的灵活性较低,进而导致该任务的完成效率较低。
发明内容
本发明实施例的目的在于提供一种组队方法、装置及电子设备,以改善任务完成过程中的多个参与者进行组队的灵活性,进而提高任务的完成效率。具体技术方案如下:
本发明实施例提供了一种组队方法,所述方法,包括:
针对待组队的第一参与者和第二参与者,获取所述第一参与者对待完成任务的第一执行进度,以及所述第二参与者对所述待完成任务的第二执行进度;
生成包含有所述第一参与者和所述第二参与者的队伍,作为组队队伍;
基于所述第一执行进度和所述第二执行进度,按照预设进度计算机制,确定所述组队队伍对所述待完成任务的执行进度,作为队伍进度;
针对所述组队队伍,按照所述队伍进度执行所述待完成任务。
进一步的,所述针对待组队的第一参与者和第二参与者,获取所述第一参与者对待完成任务的第一执行进度,以及所述第二参与者对所述待完成任务的第二执行进度,包括:
针对待组队的第一参与者和第二参与者,获取所述第一参与者对待完成任务的执行记录,作为第一执行记录,以及所述第二参与者对所述待完成任务的执行记录,作为第二执行记录;
基于所述第一执行记录和所述第二执行记录,确定所述第一参与者对所述待完成任务的执行进度作为第一执行进度,以及所述第二参与者对所述待完成任务的执行进度作为第二执行进度。
进一步的,在所述生成包含有所述第一参与者和所述第二参与者的队伍之前,还包括:
基于所述第一执行进度和所述第二执行进度的进度大小,判断所述第一参与者和所述第二参与者是否能够相互组队;
当所述第一参与者和所述第二参与者能够相互组队时,执行所述生成包含有所述第一参与者和所述第二参与者的队伍的步骤。
进一步的,所述基于所述第一执行进度和所述第二执行进度的进度大小,判断所述第一参与者和所述第二参与者是否能够相互组队,包括:
计算所述第一执行进度与所述第二执行进度的差值,作为进度差;
当所述进度差不大于预设差值阈值时,确定所述第一参与者和所述第二参与者能够相互组队;
当所述进度差大于预设差值阈值时,确定所述第一参与者和所述第二参与者不能够相互组队。
进一步的,所述生成包含有所述第一参与者和所述第二参与者的队伍,包括:
针对所述第一参与者,确定所述第一参与者是否已向所述第二参与者发送组队请求;
当所述第一参与者已向所述第二参与者发送所述组队请求时,确定所述第二参与者是否已接受所述组队请求;
当所述第二参与者已接受所述组队请求时,生成包含有所述第一参与者和所述第二参与者的队伍。
进一步的,在所述针对所述第一参与者,确定所述第一参与者是否已向所述第二参与者发送组队请求之前,还包括:
判断所述第一参与者和所述第二参与者是否正在执行所述待完成任务;
基于判断的结果,根据所述第一执行进度和所述第二执行进度,确定所述第一参与者是否能够向所述第二参与者发送组队请求;
当所述第一参与者能够向所述第二参与者发送所述组队请求时,执行所述针对所述第一参与者,确定所述第一参与者是否已向所述第二参与者发送组队请求的步骤。
进一步的,所述组队请求为申请组队请求或者邀请组队请求;
所述基于判断的结果,根据所述第一执行进度和所述第二执行进度,确定所述第一参与者是否能够向所述第二参与者发送组队请求,包括:
当所述第一参与者与所述第二参与者均未正在执行所述待完成任务时,确定所述第一参与者能够向所述第二参与者发送所述申请组队请求或者所述邀请组队请求;
当所述第一参与者正在执行所述待完成任务,且所述第一执行进度不小于所述第二执行进度时,确定所述第一参与者能够向所述第二参与者发送所述邀请组队请求,当所述第一参与者正在执行所述待完成任务,且所述第一执行进度小于所述第二执行进度时,确定所述第一参与者不能够向所述第二参与者发送所述邀请组队请求;
当所述第二参与者正在执行所述待完成任务,且所述第一执行进度不大于所述第二执行进度时,确定所述第一参与者能够向所述第二参与者发送所述申请组队请求,当所述第二参与者正在执行所述待完成任务,且所述第一执行进度大于所述第二执行进度时,确定所述第一参与者不能够向所述第二参与者发送所述申请组队请求。
进一步的,所述基于所述第一执行进度和所述第二执行进度,按照预设进度计算机制,确定所述组队队伍对所述待完成任务的执行进度,包括:
基于所述第一执行进度和所述第二执行进度,比较所述第一执行进度和所述第二执行进度的进度大小;
根据比较的结果,选取较大的进度作为所述组队队伍对所述待完成任务的执行进度。
本发明实施例还提供了一种组队装置,所述装置,包括:
执行进度获取模块,用于针对待组队的第一参与者和第二参与者,获取所述第一参与者对待完成任务的第一执行进度,以及所述第二参与者对所述待完成任务的第二执行进度;
组队队伍生成模块,用于生成包含有所述第一参与者和所述第二参与者的队伍,作为组队队伍;
队伍进度确定模块,用于基于所述第一执行进度和所述第二执行进度,按照预设进度计算机制,确定所述组队队伍对所述待完成任务的执行进度,作为队伍进度;
任务执行模块,用于针对所述组队队伍,按照所述队伍进度执行所述待完成任务。
进一步的,所述执行进度获取模块,包括:
执行记录获取子模块,用于针对待组队的第一参与者和第二参与者,获取所述第一参与者对待完成任务的执行记录,作为第一执行记录,以及所述第二参与者对所述待完成任务的执行记录,作为第二执行记录;
执行进度确定子模块,用于基于所述第一执行记录和所述第二执行记录,确定所述第一参与者对所述待完成任务的执行进度作为第一执行进度,以及所述第二参与者对所述待完成任务的执行进度作为第二执行进度。
进一步的,所述装置,还包括:
组队判断模块,用于基于所述第一执行进度和所述第二执行进度的进度大小,判断所述第一参与者和所述第二参与者是否能够相互组队;当所述第一参与者和所述第二参与者能够相互组队时,触发所述组队队伍生成模块执行所述生成包含有所述第一参与者和所述第二参与者的队伍的步骤。
进一步的,所述组队判断模块,包括:
进度差计算子模块,用于计算所述第一执行进度与所述第二执行进度的差值,作为进度差;
组队确定子模块,用于当所述进度差不大于预设差值阈值时,确定所述第一参与者和所述第二参与者能够相互组队;当所述进度差大于预设差值阈值时,确定所述第一参与者和所述第二参与者不能够相互组队。
进一步的,所述组队队伍生成模块,包括:
第一确定子模块,用于针对所述第一参与者,确定所述第一参与者是否已向所述第二参与者发送组队请求;
第二确定子模块,用于当所述第一参与者已向所述第二参与者发送所述组队请求时,确定所述第二参与者是否已接受所述组队请求;
组队队伍生成子模块,用于当所述第二参与者已接受所述组队请求时,生成包含有所述第一参与者和所述第二参与者的队伍。
进一步的,所述组队队伍生成模块,还包括:
判断子模块,用于判断所述第一参与者和所述第二参与者是否正在执行所述待完成任务;基于判断的结果,根据所述第一执行进度和所述第二执行进度,确定所述第一参与者是否能够向所述第二参与者发送组队请求;当所述第一参与者能够向所述第二参与者发送所述组队请求时,触发所述第一确定子模块执行所述针对所述第一参与者,确定所述第一参与者是否已向所述第二参与者发送组队请求的步骤。
进一步的,所述组队请求为申请组队请求或者邀请组队请求;
所述请求发送子模块,包括:
第一请求发送子模块,用于当所述第一参与者与所述第二参与者均未正在执行所述待完成任务时,确定所述第一参与者能够向所述第二参与者发送所述申请组队请求或者所述邀请组队请求;
第二请求发送子模块,用于当所述第一参与者正在执行所述待完成任务,且所述第一执行进度不小于所述第二执行进度时,确定所述第一参与者能够向所述第二参与者发送所述邀请组队请求,当所述第一参与者正在执行所述待完成任务,且所述第一执行进度小于所述第二执行进度时,确定所述第一参与者不能够向所述第二参与者发送所述邀请组队请求;
第三请求发送子模块,用于当所述第二参与者正在执行所述待完成任务,且所述第一执行进度不大于所述第二执行进度时,确定所述第一参与者能够向所述第二参与者发送所述申请组队请求,当所述第二参与者正在执行所述待完成任务,且所述第一执行进度大于所述第二执行进度时,确定所述第一参与者不能够向所述第二参与者发送所述申请组队请求。
进一步的,所述执行进度确定模块,具体用于基于所述第一执行进度和所述第二执行进度,比较所述第一执行进度和所述第二执行进度的进度大小;根据比较的结果,选取较大的进度作为所述组队队伍对所述待完成任务的执行进度。
本发明实施例还提供了一种电子设备,所述电子设备,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;
存储器,用于存放计算机程序;
处理器,用于执行存储器上所存放的程序时,实现上述任一所述的组队方法步骤。
本发明实施例还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述任一所述的组队方法。
本发明实施例提供的一种组队的方法、装置及电子设备,可以针对待组队的第一参与者和第二参与者,获取第一参与者对待完成任务的第一执行进度,以及第二参与者对待完成任务的第二执行进度,生成包含有第一参与者和第二参与者的队伍,作为组队队伍,基于第一执行进度和第二执行进度,按照预设进度计算机制,确定组队队伍对待完成任务的执行进度,作为队伍进度,并针对该组队队伍,按照队伍进度执行待完成任务。通过本发明实施例提供的技术方案,可以在参与者完成任务的过程中,暂停任务,并基于参与者对该任务的执行进度,允许原本不属于同一队伍的参与者,重新进行组队,并完成该任务,改善参与者之间进行组队的灵活性,进而提高任务的完成效率。
当然,实施本发明的任一产品或方法并不一定需要同时达到以上所述的所有优点。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的一种组队方法的流程示意图;
图2为本发明实施例提供的一种组队装置的结构示意图;
图3为本发明实施例提供的一种电子设备的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明实施例提供的一种组队的方法、装置及电子设备,可以针对待组队的第一参与者和第二参与者,获取第一参与者对待完成任务的第一执行进度,以及第二参与者对待完成任务的第二执行进度,生成包含有第一参与者和第二参与者的队伍,作为组队队伍,基于第一执行进度和第二执行进度,按照预设进度计算机制,确定组队队伍对待完成任务的执行进度,作为队伍进度,并针对该组队队伍,按照队伍进度执行待完成任务。通过本发明实施例提供的技术方案,可以在参与者完成任务的过程中,暂停任务,并基于参与者对该任务的执行进度,允许原本不属于同一队伍的参与者,重新进行组队,并完成该任务,改善参与者之间进行组队的灵活性,进而提高任务的完成效率。
本发明实施例提供了一种组队方法,如图1所示,可以包括以下步骤:
步骤S101,针对待组队的第一参与者和第二参与者,获取第一参与者对待完成任务的第一执行进度,以及第二参与者对待完成任务的第二执行进度。
在本步骤中,针对待完成任务,需要进行相互组队的任务参与者表示为第一参与者和第二参与者,其中,第一参与者可以是为完成该待完成任务的一个参与者,也可以是为完成该待完成任务的多个参与者所组成的一个队伍;同理,第二参与者可以是为完成该待完成任务的一个参与者,也可以是为完成该待完成任务的多个参与者所组成的一个队伍。针对第一参与者与第二参与者,获取第一参与者针对上述待完成任务的任务执行进度,作为第一执行进度;获取第二参与者获取针对上述待完成任务的任务执行进度。
进一步的,针对待组队的第一参与者和第二参与者,获取第一参与者对待完成任务的执行记录,作为第一执行记录,以及第二参与者对待完成任务的执行记录,作为第二执行记录。
基于第一执行记录和第二执行记录,确定第一参与者对待完成任务的执行进度作为第一执行进度,以及第二参与者对待完成任务的执行进度作为第二执行进度。
具体的,假设现有一待完成任务,该待完成任务一共有5个子任务组成。根据第一参与者的第一执行记录可知,第一参与者已经完成第三个子任务,则第一参与者针对待完成任务的第一执行进度可以记为60%;根据第二参与者的第二执行记录可知,第二参与者正在执行第二个子任务,则第二参与者针对该待完成任务的第二执行进度可以记为20%。
在本发明实施例中,上述关于第一执行进度和第二执行进度的记录方式,除了上述利用百分数记录以外,还可以采用其他记录方式,如,文字,字母等多种方式,在此就不作具体说明了。
关于上述步骤具体可以以游戏中的副本任务为例进行说明,上述待完成任务相当于游戏中的某个副本任务F,针对待组队的游戏玩家A与游戏玩家B,可以确定游戏玩家A对该副本任务F的第一执行进度,以及游戏玩家B对该副本任务F的第二执行进度。
具体的,在游戏中,每个游戏玩家都有其对应的游戏日志,该游戏日志中记录有该游戏玩家在游戏中的相关信息,例如,游戏玩家A于2018年7月24日15:00登录游戏等相关信息。因此,可以针对游戏玩家A和游戏玩家B,从游戏日志中获取游戏玩家A对副本任务F的执行记录R1和游戏玩家B对副本任务F的执行记录R2。根据R1可以确定游戏玩家A对副本任务F的执行进度P1,根据R2可以确定游戏玩家B对副本任务F的执行进度P2。
在本发明实施例中,上述执行进度P1和执行进度P2需要在上述副本任务F的最近的同一个重置周期内获取得到。例如,当前时间为2018年7月25日18:00,若该副本任务F的一个重置周期为当天00:00至当天24:00,则P1和P2是在2018年7月25日00:00至18:00,游戏玩家A和游戏玩家B对副本任务F的执行进度。此外,根据副本的具体情况,上述副本任务F可以是一个任务,也可以是一系列连环任务,甚至还可以包括一些隐藏任务。
步骤S102,生成包含有第一参与者和第二参与者的队伍,作为组队队伍。
在本步骤中,将第一参与者和第二参与者组成一个队伍,作为组队队伍,使得第一参与者和第二参与者可以以组队队伍的形式共同执行上述待完成任务。
进一步的,在生成包含有第一参与者和第二参与者的队伍之前,可以基于第一执行进度和第二执行进度的进度大小,判断第一参与者和第二参与者是否能够相互组队。
当第一参与者和第二参与者能够相互组队时,执行生成包含有第一参与者和第二参与者的队伍的步骤。
具体的,在第一参与者与第二参与者组队之前,根据第一执行进度和第二执行进度的大小,确定第一参与者和第二参与者是否能够相互组队。
例如,在上述副本任务F中,游戏玩家A与游戏玩家B想要组队完成副本任务F,因此,在两个游戏玩家组队之前,需要先判断游戏玩家A与游戏玩家B是否能够组队。
由上述可知,在本发明实施例中,不同参与者之间的执行进度可能存在较大的差异,不同执行进度的参与者对待完成任务的体验也是不一样的,为避免执行进度较大的参与者影响执行进度较小的参与者对待完成任务的体验,因此,可以在任务参与者相互组队之前设置一定限制条件,从而保证任务参与者对待完成任务的体验。例如,上述执行进度P1和执行进度P2都是根据对应的游戏玩家在最近的同一个重置周期中的任务执行记录确定的。假设现有一副本任务的重置周期为2天时间,且游戏玩家通过次数最多只能达到5次,假设此时执行进度P1为第5次的90%,执行进度P2为第1次的10%。此时,游戏玩家A与游戏玩家B针对任务F的执行进度存在较大的差异,游戏玩家A对该副本任务已经较为了解,为不影响游戏玩家B的游戏体验,可以约束游戏玩家A与游戏玩家B相互组队。
除此以外,在本发明实施例中也可以采用其他方式,例如,根据游戏玩家A与游戏玩家B的等级差距,当前游戏状态等,判断游戏玩家A与游戏玩家B是否能够相互组队。
进一步的,关于判断第一参与者和第二参与者是否能够组队的方法,可以通过计算第一执行进度与第二执行进度的差值,作为进度差。
当进度差不大于预设差值阈值时,确定第一参与者和第二参与者能够相互组队。
当进度差大于预设差值阈值时,确定第一参与者和第二参与者不能够相互组队。
具体的,通过计算第一执行进度与第二执行进度之间的进度差,将该进度差于预设差值阈值进行比较,当该进度差小于或者等于预设差值阈值时,第一参与者才能与第二参与者相互组队。例如,假设预设差值阈值为50%,若第一执行进度为10%,第二执行进度为70%,则进度差为60%,明显大于预设差值阈值,那么,第一参与者和第二参与者不能够相互组队;若第一执行进度为30%,第二执行进度为20%,则进度差为10%,明显小于预设差值阈值,那么,第一参与者和第二参与者能够相互组队。
进一步的,在生成包含有第一参与者和第二参与者的队伍的过程中,针对第一参与者,确定第一参与者是否已向第二参与者发送组队请求。
当第一参与者已向第二参与者发送组队请求时,确定第二参与者是否已接受组队请求。
当第二参与者已接受组队请求时,生成包含有第一参与者和第二参与者的队伍。
具体的,在第一参与者与第二参与者进行组队过程中,以第一参与者为例,第一参与者可以向第二参与者发送组队请求,当第二参与者接收到该组队请求,并接受该组队请求时,将第一参与者和第二参与者组成一个队伍。例如,假设游戏玩家A需要与游戏玩家B组队,针对游戏玩家A,游戏玩家A可以先向游戏玩家B发送组队请求,在游戏中,一般游戏玩家可以从游戏好友列表中,选择组队选项,进而向其他游戏玩家发送组队请求;或者,在游戏页面中,游戏玩家通过靠近其他游戏玩家,触发组队选项,进而向其他游戏玩家发送组队请求,因此,可以通过确定游戏玩家A是否触发上述组队选项,确定游戏玩家A是否向游戏玩家B发送组队请求。当确定游戏玩家A已经向游戏玩家B发送组队请求之后,游戏玩家B将会接收到该组队请求,在游戏中,一般游戏玩家接收到组队请求时,其页面上会弹出组队请求框,显示对应的组队请求信息,接收到组队请求的游戏玩家可以选择接受或者拒绝。当游戏玩家B选择接受该组队请求时,生成包含有游戏玩家A和游戏玩家B的队伍。
在本发明实施例中,上述生成组队队伍的方式是通过第一参与者向第二参与者发送组队请求,第二参与者接受该组队请求时生成的。但是在实际过程中,因为组队方式的不同,如,随机匹配模式,生成组队队伍的方式也是不同的。以随机匹配模式为例进行说明,现有一副本任务F,支持玩家随机匹配模式,若多名游戏玩家在一定时间范围内,如,一分钟以内,同时选择随机匹配模式,则可以生成包含有上述多名玩家所组成的队伍。
进一步的,在针对第一参与者,确定第一参与者是否已向第二参与者发送组队请求之前,还可以判断第一参与者和第二参与者是否正在执行待完成任务。
基于判断的结果,根据第一执行进度和第二执行进度,确定第一参与者是否能够向第二参与者发送组队请求。
当第一参与者能够向第二参与者发送组队请求时,执行针对第一参与者,确定第一参与者是否已向第二参与者发送组队请求的步骤。
具体的,针对第一参与者,在第一参与者向第二参与者发送组队请求之前,可以先根据第一执行进度和第二执行进度,确定第一参与者和第二参与者是否正在执行待完成任务,进而执行针对第一参与者,确定第一参与者是否已向第二参与者发送组队请求的步骤。以第二参与者为例进行说明,若根据第二执行进度,确定第二参与者在待完成任务的一个重置周期内,已经完成该待完成任务,则第一参与者不能够向第二参与者发送组队请求,将不会执行后续步骤。
在本发明实施例中,除了可以根据第一执行进度和第二执行进度,确定第一参与者和第二参与者是否正在执行待完成任务,还可以根据第一参与者与第二参与者的其他信息确定,例如,可以根据第二参与者的当前状态,确定第二参与者正在执行其他任务。
进一步的,上述组队请求可以是申请组队请求,也可以是邀请组队请求。因此,上述基于判断的结果,根据第一执行进度和第二执行进度,确定第一参与者是否能够向第二参与者发送组队请求,可以包括以下情况:
当第一参与者与第二参与者均未正在执行待完成任务时,确定第一参与者能够向第二参与者发送申请组队请求或者邀请组队请求。
当第一参与者正在执行待完成任务,且第一执行进度不小于第二执行进度时,确定第一参与者能够向第二参与者发送邀请组队请求,当第一参与者正在执行待完成任务,且第一执行进度小于第二执行进度时,确定第一参与者不能够向第二参与者发送邀请组队请求。
当第二参与者正在执行待完成任务,且第一执行进度不大于第二执行进度时,确定第一参与者能够向第二参与者发送申请组队请求,当第二参与者正在执行待完成任务,且第一执行进度大于第二执行进度时,确定第一参与者不能够向第二参与者发送申请组队请求。
具体的,在本发明实施例中,上述组队请求分为两种,一种是申请组队请求,另一种是邀请组队请求。以第一参与者为例进行说明,若第一参与者发送的是申请组队请求,当第二参与者为一个任务参与者时,表示第一参与者申请与第二参与者组队;或者当第二参与者为多个任务参与者组成的一个队伍时,表示第一参与者申请加入该队伍。同理,若第一参与者发送的是邀请组队请求,当第一参与者为一个任务参与者时,表示第一参与者邀请第二参与者与其组队;或者当第一参与者为多个任务参与者组成的一个队伍时,表示第一参与者邀请第二参与者加入该队伍。
在本发明实施例中,任务参与者开始执行上述待完成任务的时间点,可以理解为该待完成任务对应的任务场景创建完毕的时间点,因此,当某任务参与者处于该任务场景中,可以认为该参与者正在执行待完成任务。所以当第一参与者向第二参与者发送组队请求时,会出现以下情况:
情况一,第一参与者和与第二参与者均没有正在执行待完成任务。
情况二,第一参与者正在执行待完成任务,第二参与者没有正在执行待完成任务。
情况三,第一参与者没有正在执行待完成任务,第二参与者正在执行待完成任务。
情况四,第一参与者和第二参与者均正在执行待完成任务。
为保证正在执行待完成任务的参与者能够继续执行待完成任务,针对上述情况一,第一参与者和第二参与者可以自由组队。第一参与者可以向第二参与者发送组队申请组队请求,也可以向第二参与者发送邀请组队请求。
针对上述情况二,只有当第一执行进度大于或者等于第二执行进度时,第一参与者可以向第二参与者发送邀请组队请求。例如,当游戏玩家A正在执行上述副本任务时,假设上述执行进度P1为50%,若上述执行进度P2大于或者等于50%,则游戏玩家A只可以向游戏玩家B发送邀请组队请求;反之,若上述执行进度P2小于50%,则游戏玩家A不可以向游戏玩家B发送邀请组队请求。
针对上述情况三,只用当第一执行进度小于或者等于第二执行进度时,第一参与者可以向第二参与者发送申请组队请求。例如,当游戏玩家B正在执行上述副本任务时,假设上述执行进度P1为50%,若上述执行进度P2小于或者等于50%,则游戏玩家A只可以向游戏玩家B发送申请组队请求;反之,若上述执行进度P2大于50%,则游戏玩家A不可以向游戏玩家B发送申请组队请求。
因为第一参与者与第二参与者在组队后,将以组队队伍的形式共同执行上述待完成任务,所以当出现上述情况四时,第一参与者和第二参与者可以视具体情况,选择一方退出该参与者所在的任务场景,再按照上述其他三种情况确定发送申请组队请求,还是发送邀请组队请求。
在本发明实施例中,当上述第一参与者不能向第二参与者发送邀请组队请求时,相应的也不能发送申请组队请求。同理,当上述第一参与者不能向第二参与者发送申请组队请求时,相应的也不能发送邀请组队请求。
由上述可知,采用本发明实施例提供的方案,可以使正在执行待完成任务的任务参与者能够与其他任务参与者进行组队,改变组队方式的灵活性,进而提高待完成任务的完成概率。
步骤S103,基于第一执行进度和第二执行进度,按照预设进度计算机制,确定组队队伍对待完成任务的执行进度,作为队伍进度。
在本步骤中,针对上述第一参与者和第二参与者共同组成的组队队伍,基于步骤S101得到的第一执行进度和第二执行进度,可以按照预设进度计算机制,确定该组队队伍对待完成任务的执行进度,作为队伍进度。
进一步的,基于第一执行进度和第二执行进度,比较第一执行进度和第二执行进度的进度大小。
根据比较的结果,选取较大的进度作为组队队伍对待完成任务的执行进度。
具体的,根据第一执行进度与第二执行进度的进度大小,将较大的执行进度作为第一参与者和第二参与者组队后队伍的执行进度。例如,假设上述执行进度P1为20%、执行进度P2为50%时,通过比较两个执行进度的大小,可确定的是执行进度P2明显大于执行进度P1,因此,可以执行进度P2作为上述组队队伍的执行进度。
由上述可知,之所以选取第一执行进度和第二执行进度中执行进度较大的作为队伍进度,是因为选取较大的执行进度作为队伍进度,一方面有利于后期组队队伍按照队伍进度执行待完成任务时,提高任务的完成效率;另一方面,可以避免任务执行过程中出现问题。例如,游戏玩家A的执行进度P1为10%,游戏玩家B的执行进度P2为50%,若以50%作为队伍进度,则游戏玩家B的副本任务完成效率将大大提高。此外,对于本领域技术人员而言,副本任务执行过程中每一个子副本任务都会有一定的奖励,如,经验值、金币等。因此,若以10%作为队伍进度,游戏玩家A将可以在一个副本任务的重置周期内,不断以较低的执行进度执行该副本任务,得到更多的游戏奖励,导致Bug(漏洞)出现。当然,本发明实施例中,在不会出现Bug的前提下,也可以采用其他方式计算得到队伍进度,例如,可以选取执行进度较小的作为队伍进度,但是游戏玩家B自愿放弃上述奖励,并在一个副本任务的重置周期内,限定这种情况出现的次数。
步骤S104,针对组队队伍,按照队伍进度执行待完成任务。
在本步骤中,针对组队队伍,可以按照队伍进度,让第一参与者和第二参与者以组队的形式在对应的任务场景中,共同执行待完成任务。
综上所述,本发明实施例提供的组队方法,允许原本不属于同一队伍的参与者,相互进行组队,并完成待完成任务,改善参与者之间进行组队的灵活性,进而提高任务的完成效率。
基于同一中发明构思,根据上述本发明实施例提供的一种组队方法,本发明实施例还提供了一种组队装置,如图2所示,可以包括以下模块:
执行进度获取模块201,用于针对待组队的第一参与者和第二参与者,获取第一参与者对待完成任务的第一执行进度,以及第二参与者对待完成任务的第二执行进。
组队队伍生成模块202,用于生成包含有第一参与者和第二参与者的队伍,作为组队队伍。
队伍进度确定模块203,用于基于第一执行进度和第二执行进度,按照预设进度计算机制,确定组队队伍对待完成任务的执行进度,作为队伍进度。
任务执行模块204,用于针对组队队伍,按照队伍进度执行待完成任务。
进一步的,执行进度获取模块201,包括:
执行记录获取子模块,用于针对待组队的第一参与者和第二参与者,获取第一参与者对待完成任务的执行记录,作为第一执行记录,以及第二参与者对待完成任务的执行记录,作为第二执行记录。
执行进度确定子模块,用于基于第一执行记录和第二执行记录,确定第一参与者对待完成任务的执行进度作为第一执行进度,以及第二参与者对待完成任务的执行进度作为第二执行进度。
进一步的,上述装置,还包括:
组队判断模块,用于基于第一执行进度和第二执行进度的进度大小,判断第一参与者和第二参与者是否能够相互组队;当第一参与者和第二参与者能够相互组队时,触发组队队伍生成模块202执行生成包含有第一参与者和第二参与者的队伍的步骤。
进一步的,组队判断模块,包括:
进度差计算子模块,用于计算第一执行进度与第二执行进度的差值,作为进度差。
组队确定子模块,用于当进度差不大于预设差值阈值时,确定第一参与者和第二参与者能够相互组队;当进度差大于预设差值阈值时,确定第一参与者和第二参与者不能够相互组队。
进一步的,组队队伍生成模块202,包括:
第一确定子模块,用于针对第一参与者,确定第一参与者是否已向第二参与者发送组队请求。
第二确定子模块,用于当第一参与者已向第二参与者发送组队请求时,确定第二参与者是否已接受组队请求。
组队队伍生成子模块,用于当第二参与者已接受组队请求时,生成包含有第一参与者和第二参与者的队伍。
进一步的,组队队伍生成模块202,还包括:
判断子模块,用于判断第一参与者和第二参与者是否正在执行待完成任务;基于判断的结果,根据第一执行进度和第二执行进度,确定第一参与者是否能够向第二参与者发送组队请求;当第一参与者能够向第二参与者发送组队请求时,触发第一确定子模块执行针对第一参与者,确定第一参与者是否已向第二参与者发送组队请求的步骤。
进一步的,组队请求为申请组队请求或者邀请组队请求。
上述请求发送子模块,包括:
第一请求发送子模块,用于当第一参与者与第二参与者均未正在执行待完成任务时,确定第一参与者能够向第二参与者发送申请组队请求或者邀请组队请求。
第二请求发送子模块,用于当第一参与者正在执行待完成任务,且第一执行进度不小于第二执行进度时,确定第一参与者能够向第二参与者发送邀请组队请求,当第一参与者正在执行待完成任务,且第一执行进度小于第二执行进度时,确定第一参与者不能够向第二参与者发送邀请组队请求。
第三请求发送子模块,用于当第二参与者正在执行待完成任务,且第一执行进度不大于第二执行进度时,确定第一参与者能够向第二参与者发送申请组队请求,当第二参与者正在执行待完成任务,且第一执行进度大于第二执行进度时,确定第一参与者不能够向第二参与者发送申请组队请求。
进一步的,执行进度确定模块203,具体用于基于第一执行进度和第二执行进度,比较第一执行进度和第二执行进度的进度大小;根据比较的结果,选取较大的进度作为组队队伍对待完成任务的执行进度。
本发明实施例还提供了一种电子设备,如图3所示,包括处理器301、通信接口302、存储器303和通信总线304,其中,处理器301,通信接口302,存储器303通过通信总线304完成相互间的通信,
存储器303,用于存放计算机程序;
处理器301,用于执行存储器303上所存放的程序时,实现如下步骤:
针对待组队的第一参与者和第二参与者,获取第一参与者对待完成任务的第一执行进度,以及第二参与者对待完成任务的第二执行进度;
生成包含有第一参与者和第二参与者的队伍,作为组队队伍;
基于第一执行进度和第二执行进度,按照预设进度计算机制,确定组队队伍对待完成任务的执行进度,作为队伍进度;
针对组队队伍,按照队伍进度执行待完成任务。
上述电子设备提到的通信总线可以是外设部件互连标准(Peripheral ComponentInterconnect,PCI)总线或扩展工业标准结构(Extended Industry StandardArchitecture,EISA)总线等。该通信总线可以分为地址总线、数据总线、控制总线等。为便于表示,图中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
通信接口用于上述电子设备与其他设备之间的通信。
存储器可以包括随机存取存储器(Random Access Memory,RAM),也可以包括非易失性存储器(Non-Volatile Memory,NVM),例如至少一个磁盘存储器。可选的,存储器还可以是至少一个位于远离前述处理器的存储装置。
上述的处理器可以是通用处理器,包括中央处理器(Central Processing Unit,CPU)、网络处理器(Network Processor,NP)等;还可以是数字信号处理器(Digital SignalProcessing,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
在本发明提供的又一实施例中,还提供了一种计算机可读存储介质,该计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现上述任一组队方法的步骤。
在本发明提供的又一实施例中,还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述实施例中任一组队方法。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本发明实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如固态硬盘Solid State Disk(SSD))等。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置、电子设备等实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
以上所述仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本发明的保护范围内。