CN108854066B - 游戏中行为状态处理方法、装置、计算机设备和存储介质 - Google Patents
游戏中行为状态处理方法、装置、计算机设备和存储介质 Download PDFInfo
- Publication number
- CN108854066B CN108854066B CN201810642701.3A CN201810642701A CN108854066B CN 108854066 B CN108854066 B CN 108854066B CN 201810642701 A CN201810642701 A CN 201810642701A CN 108854066 B CN108854066 B CN 108854066B
- Authority
- CN
- China
- Prior art keywords
- behavior
- identifier
- module
- target behavior
- locking
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 43
- 238000012545 processing Methods 0.000 title claims abstract description 34
- 238000001514 detection method Methods 0.000 claims abstract description 77
- 230000008569 process Effects 0.000 claims abstract description 5
- 230000006399 behavior Effects 0.000 claims description 728
- 238000004590 computer program Methods 0.000 claims description 36
- 230000003542 behavioural effect Effects 0.000 claims description 32
- 238000012217 deletion Methods 0.000 claims description 5
- 230000037430 deletion Effects 0.000 claims description 5
- 238000011161 development Methods 0.000 claims description 4
- 230000006870 function Effects 0.000 claims description 3
- 238000003672 processing method Methods 0.000 abstract description 12
- 238000010586 diagram Methods 0.000 description 10
- 230000004044 response Effects 0.000 description 10
- 238000004458 analytical method Methods 0.000 description 6
- 238000012986 modification Methods 0.000 description 6
- 230000004048 modification Effects 0.000 description 6
- 230000003993 interaction Effects 0.000 description 2
- 230000007257 malfunction Effects 0.000 description 2
- 230000001360 synchronised effect Effects 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 230000008859 change Effects 0.000 description 1
- 230000009191 jumping Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
Classifications
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F13/00—Video games, i.e. games using an electronically generated display having two or more dimensions
- A63F13/45—Controlling the progress of the video game
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F13/00—Video games, i.e. games using an electronically generated display having two or more dimensions
- A63F13/60—Generating or modifying game content before or while executing the game program, e.g. authoring tools specially adapted for game development or game-integrated level editor
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F2300/00—Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
- A63F2300/60—Methods for processing data by generating or executing the game program
- A63F2300/6009—Methods for processing data by generating or executing the game program for importing or creating game content, e.g. authoring tools during game development, adapting content to different platforms, use of a scripting language to create content
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F2300/00—Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
- A63F2300/60—Methods for processing data by generating or executing the game program
- A63F2300/63—Methods for processing data by generating or executing the game program for controlling the execution of the game in time
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本申请涉及一种游戏中行为状态处理方法、装置、计算机设备和可读存储介质,该方法包括:获取游戏中当前业务模块运行过程中接收到的行为执行请求;解析行为执行请求,得到目标行为标识;当调用状态检测接口,根据目标行为标识确定目标行为处于与当前业务模块冲突所对应的锁定状态时,终止执行行为执行请求对应的目标行为。通过调用状态检测接口对目标行为状态进行检测,当目标行为为锁定状态时,说明目标行为与当前的业务模块冲突,通过终止执行该目标行为,避免了因继续执行目标行为,而导致出现游戏故障,提高了游戏运行的稳定性和流畅性。
Description
技术领域
本申请涉及游戏技术领域,特别是涉及一种游戏中行为状态处理方法、装置、计算机设备和可读存储介质。
背景技术
随着计算机技术的快速发展,电子游戏作为一种休闲娱乐方式已经被越来越多的人接受。电子游戏通过设置虚拟的游戏场景,由用户控制虚拟角色按照一定的规则进行任务操作,以达到娱乐和互动的目的。
在游戏开发中,基于不同的业务划分,会存在大量不同的业务模块,而大量的业务模块之间会出现一些游戏行为的状态冲突,进而导致出现游戏故障,比如:在战斗模块运行时,不允许执行穿戴装备的任务,而若在战斗模块运行时执行穿戴装备的行为,则存在因状态冲突而导致游戏故障的问题。而由于游戏项目规模巨大,所涉及的业务模块众多,因此,如何有效避免在游戏中出现状态冲突,成为当前亟待解决的问题。
发明内容
基于此,有必要针对因状态冲突而导致游戏故障的技术问题,提供一种游戏中行为状态处理方法、装置、计算机设备和可读存储介质。
一种游戏中行为状态处理方法,所述方法包括:
获取游戏中当前业务模块运行过程中接收到的行为执行请求;
解析所述行为执行请求,得到目标行为标识;
当调用状态检测接口,根据所述目标行为标识确定目标行为处于与所述当前业务模块冲突所对应的锁定状态时,终止执行所述行为执行请求对应的目标行为。
一种游戏中行为状态处理装置,所述装置包括:
请求模块,用于获取游戏中当前业务模块运行过程中接收到的行为执行请求;
解析模块,用于解析所述行为执行请求,得到目标行为标识;
执行模块,用于当调用状态检测接口,根据所述目标行为标识确定目标行为处于与所述当前业务模块冲突所对应的锁定状态时,终止执行所述行为执行请求对应的目标行为。
一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现以下步骤:
获取游戏中当前业务模块运行过程中接收到的行为执行请求;
解析所述行为执行请求,得到目标行为标识;
当调用状态检测接口,根据所述目标行为标识确定目标行为处于与所述当前业务模块冲突所对应的锁定状态时,终止执行所述行为执行请求对应的目标行为。
一种计算机可读存储介质,存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现以下步骤:
获取游戏中当前业务模块运行过程中接收到的行为执行请求;
解析所述行为执行请求,得到目标行为标识;
当调用状态检测接口,根据所述目标行为标识确定目标行为处于与所述当前业务模块冲突所对应的锁定状态时,终止执行所述行为执行请求对应的目标行为。
上述游戏中行为状态处理方法、装置、计算机设备和可读存储介质,在游戏运行当前业务模块过程中,当接收到行为执行请求时,通过解析行为执行请求得到目标行为标识,当调用状态检测接口,根据所述目标行为标识确定所述目标行为处于与所述当前业务模块冲突所对应的锁定状态时,终止执行所述行为执行请求对应的目标行为。通过调用状态检测接口对目标行为状态进行检测,当目标行为为锁定状态时,说明目标行为与当前的业务模块冲突,通过终止执行该目标行为,避免了因继续执行目标行为,而导致出现游戏故障,提高了游戏运行的稳定性和流畅性。
附图说明
图1为一个实施例中游戏中行为状态处理方法的应用环境图;
图2为一个实施例中游戏中行为状态处理方法的流程示意图;
图3为一个实施例中终止执行目标行为步骤的流程示意图;
图4为一个实施例中锁定提示信息的显示步骤的流程示意图;
图5为一个实施例中锁定行为状态表的结构示意图;
图6为一个实施例中目标行为锁定步骤的流程示意图;
图7为一个实施例中目标行为解锁步骤的流程示意图;
图8为一个实施例中目标行为解锁步骤的流程示意图;
图9为一个实施例中游戏中行为状态处理方法的流程示意图;
图10为一个实施例中游戏中行为状态处理方法的流程示意图;
图11为一个实施例中显示锁定提示信息的界面图;
图12为一个实施例中游戏中行为状态处理装置的结构框图;
图13为一个实施例中执行模块的结构框图;
图14为一个实施例中游戏中行为状态处理装置的部分结构框图;
图15为一个实施例中计算机设备的结构框图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
图1为一个实施例中游戏中行为状态处理方法的应用环境图。参照图1,该游戏中行为状态处理方法应用于游戏中行为状态处理系统。该游戏中行为状态处理系统包括请求终端110和服务器120。请求终端110具体可以是台式终端或移动终端,移动终端具体可以手机、平板电脑、笔记本电脑等中的至少一种。具体地,请求终端110中安装有游戏软件,用户可通过请求终端110的输入装置进行游戏操作,请求终端110接收用户输入的数据和/或指令,并反馈和显示对输入数据和/或指令的响应。其中,输入装置可以是键盘、触摸屏等可以执行输入操作的设备。服务器120可以用独立的服务器或者是多个服务器组成的服务器集群来实现。服务器120用于响应请求终端110发送的游戏请求以执行游戏中的相关操作,比如游戏中行为状态处理。
如图2所示,在一个实施例中,提供了一种游戏中行为状态处理方法。本实施例主要以该方法应用于上述图1中的服务器120来举例说明。参照图2,该游戏中行为状态处理方法具体包括如下步骤:
S202,获取游戏中当前业务模块运行过程中接收到的行为执行请求。
其中,业务模块是指游戏开发过程中基于业务功能划分的逻辑代码,比如,业务模块具体可以是战斗模块、地图模块、背包模块和角色模块等。当前业务模块是指当前正在运行的业务模块,当前业务模块包括一个或多个当前正在运行的业务模块。在电子游戏中,行为是指游戏运行时响应行为执行请求所能实现的操作,比如,行为具体可以是场景跳转、更换装备、主动攻击等。可以理解,行为执行请求是指请求执行目标行为的请求指令,比如,可以是用户通过请求终端主动发起的场景跳转请求、队友发起的合击请求和其他业务模块发起的提示请求等。
在游戏运行当前业务模块过程中,当接收到行为执行请求时,获取该行为执行请求,以便响应该行为执行请求。具体地,行为执行请求可以由游戏玩家或其他业务模块发起。比如,当前游戏正处于战斗状态,此时由游戏玩家通过请求终端的触摸屏发起场景跳转请求,服务器会接收到发起的场景跳转请求,以执行后续的响应操作,响应操作具体可以包括获取场景跳转逻辑,判断是否执行场景跳转;再如,某角色正在执行设定任务时,道具模块发起是否购买新道具的提示请求,服务器自身接收该提示请求,并响应该请求,响应操作具体可以包括获取该提示实现逻辑,判断是否可以进行提示。
S204,解析行为执行请求,得到目标行为标识。
其中,目标行为是指行为执行请求所请求执行的行为。可以理解,目标行为标识是指用于标示识别目标行为的记号。具体地,目标行为标识可以为预先设定的目标行为的名称或唯一代号。
当接收到行为执行请求时,获取该行为执行请求,并对该请求进行解析,以得到该请求对应的目标行为标识。进一步地,基于所得到的目标行为标识,获取执行该目标行为的实现逻辑,以执行后续操作。其中,实现逻辑为具体的实现代码。
S206,当调用状态检测接口,根据目标行为标识确定目标行为处于与当前业务模块冲突所对应的锁定状态时,终止执行行为执行请求对应的目标行为。
状态检测接口是指由游戏开发人员设置的、对行为的当前状态进行检测的API(Application Programming Interface,应用程序编程接口),该接口不依赖于原业务模块的逻辑代码,具有较好的复用性,因此,通过调用状态检测接口可实现对任一目标行为的状态检测。
其中,行为状态包括锁定状态和非锁定状态。锁定状态是指使目标行为不允许被执行的状态,与之相反的状态则为非锁定状态。当目标行为与当前业务模块相冲突时,则将该目标行为锁定,使之处于锁定状态而不允许被执行。
具体地,调用状态检测接口对目标行为标识的当前状态进行检测,当根据目标行为标识确定目标行为处于与当前业务模块冲突所对应的锁定状态时,终止执行行为执行请求对应的目标行为。比如,在游戏正处于战斗状态时不允许进行场景跳转,当接收到发起的场景跳转请求时,对场景跳转行为的当前状态进行检测,当场景跳转行为的当前状态为锁定状态,则终止执行场景跳转。
通过调用状态检测接口,采用非侵入式编程的方式实现对行为状态的检测,无需对原游戏代码进行复杂的修改,而由于该接口不依赖于原业务模块的逻辑代码,因此可维护性和可扩展性强。
进一步地,在游戏行为的实现逻辑中嵌入设置有状态检测逻辑,以通过状态检查逻辑对当前需要执行的行为进行状态检测。具体地,根据解析得到目标行为标识获取与该目标行为对应的实现逻辑,并执行该实现逻辑,基于该实现逻辑中的状态检测逻辑,调用状态检测接口,对目标行为的当前状态进行检测,以检测目标行为当前是否被锁定,进而根据检测结果确定是否执行该目标行为。当检测到目标行为当前处于为锁定状态时,终止执行请求对应的目标行为。
上述游戏中行为状态处理方法,在游戏中当前业务模块运行过程中,当接收到行为执行请求时,通过解析行为执行请求得到目标行为标识,当调用状态检测接口,根据目标行为标识确定目标行为处于与当前业务模块冲突所对应的锁定状态时,终止执行行为执行请求对应的目标行为。通过调用状态检测接口对目标行为状态进行检测,当目标行为为锁定状态时,说明目标行为与当前的业务模块冲突,通过终止执行该目标行为,避免了因继续执行目标行为,而导致出现游戏故障,提高了游戏运行的稳定性和流畅性。
在一实施例中,如图3所示,当调用状态检测接口,根据目标行为标识确定目标行为处于与当前业务模块冲突所对应的锁定状态时,终止执行行为执行请求对应的目标行为,包括:
S302,调用状态检测接口,获取锁定行为状态表。
其中,锁定行为状态表是指记录了当前被锁定的行为及其相关信息的数据表。比如,该数据表记录有当前处于锁定状态的行为标识。具体地,基于预设的状态检测逻辑,需要进行行为状态检测时,调用状态检测接口获取锁定行为状态表。
S304,当锁定行为状态表中包括目标行为标识时,确定目标行为处于与当前业务模块冲突所对应的锁定状态。
在本实施例中,将目标行为标识与锁定行为状态表中记载的数据进行比对,当锁定行为状态表中包括目标行为标识时,确定目标行为处于锁定状态。也就是说,只要锁定行为状态表中记录有目标行为标识,则表明该目标行为已被锁定,当前不允许执行。
S306,终止执行行为执行请求对应的目标行为。
当确定目标行为处于锁定状态,则说明目标行为与当前业务模块相冲突,在此情况下,不允许目标行为被执行,进而终止执行行为执行请求对应的目标行为,以避免在当前业务模块运行过程中,因执行该目标行为而导致游戏故障。
进一步地,该处理方法还包括:当锁定行为状态表中未包括目标行为标识时,确定目标行为处于非锁定状态。
具体地,基于预设的状态检测逻辑,需要进行行为状态检测时,调用状态检测接口获取锁定行为状态表,将目标行为标识与行为状态表中记载的数据进行比对,当锁定行为状态表中未包括目标行为标识时,确定目标行为处于非锁定状态。也就是说,只要锁定行为状态表中未记录有目标行为标识,则表明该目标行为未被锁定,当前允许执行。
在一实施例中,当目标行为处于锁定状态时,该处理方法还包括:获取锁定提示信息;基于预设的显示规则,生成携带有锁定提示信息的显示信息。
其中,锁定提示信息用以提示用户目标行为的锁定状态。比如,当确定了目标行为处于锁定状态时,在显示界面弹出提示框,并在提示框中显示锁定提示信息,以提示游戏玩家目标行为已被锁定,不允许执行。在一个实施例中,锁定提示信息可以为警告提示,例如在用户的显示界面显示“目标行为(例如地图传送)被锁定”。在另一个实施例中,锁定提示信息还可以为锁定状态和锁定原因,即提示目标行为被锁定以及与目标行为相冲突的业务模块标识。预设显示规则是指预先设定的显示方法。具体地,可以包括显示方式、显示位置等。比如,以提示框的方式在显示界面的中间位置显示。
具体地,当检测到目标行为处于锁定状态时,获取该目标行为对应的锁定提示信息,按照预设显示规则,生成携带有锁定提示信息的显示信息,以将显示信息发送至终端,由终端根据显示信息将锁定提示信息显示于显示界面。
具体地,如图4所示,提供了锁定提示信息的显示步骤,包括:
S402,获取锁定行为状态表中与目标行为标识对应的业务模块标识。
其中,业务模块标识是指用于标示识别业务模块的记号。具体地,业务模块标识可以为预先设定的业务模块的名称或唯一代号。
在本实施例中,锁定行为状态表中还记录有对行为进行锁定的业务模块标识,具体可参照如图5所示的锁定行为状态表。游戏过程中可同时运行多个业务模块,而一个行为可以被多个业务模块锁定,如图5所示,将锁定的行为标识以及对该行为进行锁定的业务模块标识关联存储,即得到缓存有行为状态信息的锁定行为状态表。
本实施例中,当目标行为的当前状态为锁定状态时,基于锁定行为状态表中目标行为标识与业务模块标识之间的对应关系,获取与目标行为标识对应的业务模块标识。换而言之,即获取锁定目标行为的业务模块标识。
其中,所获取的业务模块标识既可以是锁定目标行为的其中一个业务模块标识,也可以是多个业务模块标识,可根据需求预先进行具体的设定。同时,还可以设定具体获取哪一个业务模块标识。比如,仅需获取锁定目标行为的第一个业务模块标识。
S404,根据业务模块标识,获取与业务模块标识对应的锁定提示信息。
其中,与业务模块标识对应的锁定提示信息是指业务模块锁定目标行为的锁定说明。业务模块在锁定一行为时,同时会设置对本次锁定操作的说明,该锁定说明即可作为锁定提示信息,在检测到该行为被锁定时被弹出。比如,在一具体实施例中,可以由组队模块锁定地图跳转行为,其锁定说明可以是“当前正在组队中,不能传送到其他地图”。
本实施例中,基于所获得的业务模块标识,获取与业务模块标识对应的锁定提示信息,以对当前的行为执行请求进行响应。具体地,当获得的业务模块标识仅为锁定目标行为的第一个业务模块标识时,对应地,也仅需获取与第一个业务模块标识对应的锁定提示信息。
S406,基于预设显示规则,生成携带有锁定提示信息的显示信息。
本实施例中,当确定目标行为的当前状态为锁定状态时,进一步获取锁定该目标行为的业务模块标识,并基于业务模块标识得到该业务模块锁定目标行为的锁定提示信息,按照预设的显示规则生成携带有锁定提示信息的显示信息,以便显示锁定提示信息。
进一步地,该处理方法还包括:将显示信息发送至请求终端。通过将显示信息发送至对应的请求终端,由请求终端按照显示规则将锁定提示信息显示于显示界面,以提醒游戏玩家目标行为已被锁定,无法执行。
在一实施例中,如图6所示,游戏中行为状态处理方法还包括目标行为锁定的步骤,具体包括:
S602,当运行至预设的锁定逻辑时,获取锁定逻辑中的业务模块标识和与业务模块标识冲突的目标行为标识。
基于业务模块和目标行为之间需要避免的状态冲突,在业务模块中预先设置对应的锁定逻辑,以在业务模块的运行时,执行预设的锁定逻辑。比如,在游戏正处于战斗状态时不允许进行场景跳转,则在战斗模块中增加“场景跳转”的锁定逻辑;角色模块中某一角色正在执行某一任务时,不允许弹出请求信息,则在该角色执行该任务的实现逻辑中,增加“弹出请求信息”的锁定逻辑;角色模块中某一角色正在释放技能时,不允许玩家进行交互操作,则在该角色释放技能的实现逻辑中,增加“交互操作”的锁定逻辑等。
具体地,锁定逻辑中包括当前业务模块标识和待锁定的目标行为标识,也即当前运行的业务模块标识、以及与当前运行的业务模块冲突的目标行为标识,基于对锁定逻辑的分析,获取业务模块标识和与业务模块冲突的目标行为标识。
S604,调用状态设置接口,将冲突的目标行为标识和业务模块标识关联存储至锁定行为状态表。
状态设置接口是指由游戏开发人员设置的、对行为的当前状态进行设置的API(Application Programming Interface,应用程序编程接口),该接口不依赖于原业务模块的逻辑代码,具有较好的复用性,因此,通过调用状态设置接口可实现对任一目标行为的状态设置。其中,状态设置包括锁定设置和解锁设置。锁定设置是指将目标行为锁定使之不允许被执行,解锁设置是指将已锁定的目标行为解锁,使之允许被执行。当目标行为与当前业务模块相冲突时,则将该目标行为锁定,当已锁定的目标行为与锁定其的业务模块不存在冲突时,则将该目标行为解锁。
当确定了待锁定的目标行为标识和业务模块标识后,通过调用状态设置接口,将待锁定的、冲突的目标行为标识和业务模块标识关联,并存储至锁定行为状态表。其中,锁定行为状态表只要能够有效表示当前已锁定的目标行为标识和执行锁定的业务模块标识之间的关联关系即可。比如,可采用如图5所示的存储格式。
通过调用状态设置接口对目标行为进行锁定,并将锁定的信息缓存至锁定行为状态表,当接收到行为执行请求时,通过查找锁定行为状态表即可对目标行为的当前状态进行检测,以便根据检测结果确定是否允许执行目标行为。通过对当前不允许执行的目标行为进行锁定,避免了在不允许执行某一目标行为的情况下仍然执行已锁定的目标行为,而导致游戏故障,提高了游戏运行的稳定性和流畅性。
本实施例通过调用状态设置接口,采用非侵入式编程的方式对行为进行锁定,无需对原游戏代码进行复杂的修改,而由于该接口不依赖于原业务模块的逻辑代码,因此可维护性和可扩展性强。
进一步地,游戏中行为状态处理方法还包括:根据预设的锁定逻辑,获取并存储锁定提示信息。通过设置锁定提示信息,当检测到目标行为被对应的业务模块锁定时,返回锁定提示信息并显示,以提示玩家目标行为被锁定,当前无法执行。比如,在一具体实施例中,可以由组队模块锁定地图跳转行为,其锁定提示信息可以是“当前正在组队中,不能传送到其他地图”。
在一实施例中,如图7所示,游戏中行为状态处理方法还包括目标行为解锁的步骤,具体包括:
S702,当满足行为解锁条件时,获取满足行为解锁条件的业务模块标识。
其中,行为解锁条件是指已锁定的行为允许被执行的条件,基于游戏运行的需求预先进行确定。比如,根据具体的业务边界确定。以战斗业务模块为例,在战斗业务模块运行时,不允许角色更换装备,则当运行至战斗业务模块边界时,则执行“角色更换装备”的解锁操作。简而言之,就是战斗结束时解锁“角色更换装备”这一行为。
具体地,在业务模块中预先嵌入对应的解锁逻辑,当运行至预设的解锁逻辑时,即为满足行为解锁条件,获取满足行为解锁条件的业务模块标识。可以理解,在本实施例中,业务模块标识是指当前执行解锁逻辑的业务模块标识。
S704,根据预设的解锁逻辑,获取与业务模块标识冲突的目标行为标识。
解锁逻辑中包括与业务模块标识冲突的目标行为标识,通过对预设的解锁逻辑进行分析,获取与业务模块标识冲突的目标行为标识,也即当前待解锁的目标行为标识。
S706,调用状态设置接口,解除业务模块标识以及与业务模块标识冲突的目标行为标识之间的锁定关系。
其中,锁定关系是指锁定的目标行为标识以及锁定该行为标识的业务模块标识之间的关联关系。
具体地,当获取到满足行为解锁条件的业务模块标识及其对应的目标行为标识后,通过状态设置接口,解除业务模块标识以及与业务模块标识冲突的目标行为标识之间的锁定关系。当某一目标行为标识的所有锁定关系均解除时,则该目标行为标识对应的目标行为允许被执行。
本实施例通过调用状态设置接口,采用非侵入式编程的方式对行为进行解锁,无需对原游戏代码进行复杂的修改,可维护性和可扩展性强。
在一实施例中,如图8所示,目标行为解锁的步骤具体包括:
S802,当满足行为解锁条件时,获取满足行为解锁条件的业务模块标识。
具体地,在业务模块中预先嵌入对应的解锁逻辑,当运行至预设的解锁逻辑时,即为满足行为解锁条件,获取满足行为解锁条件的业务模块标识。可以理解,在本实施例中,业务模块标识是指当前执行解锁逻辑的业务模块标识。
S804,根据预设的解锁逻辑,获取与业务模块标识冲突的目标行为标识。
基于解锁逻辑,获取与业务模块标识冲突的目标行为标识,也即当前待解锁的目标行为标识。
进一步地,还包括调用状态设置接口,解除业务模块标识以及与业务模块标识冲突的目标行为标识之间的锁定关系的步骤,该步骤具体包括:
S806,调用状态设置接口,获取锁定行为状态表。
其中,锁定行为状态表中关联存储有处于锁定状态的目标行为标识,以及对目标行为执行锁定的业务模块标识。当满足行为解锁条件时,基于预设的解锁逻辑,调用状态设置接口,并获取缓存的锁定行为状态表。
S808,从锁定行为状态表中,删除关联存储的业务模块标识以及与业务模块标识冲突的目标行为标识。
当满足行为解锁条件时,基于预设的解锁逻辑,获取满足行为解锁条件的待解锁的目标行为标识和业务模块标识,进一步调用状态设置接口,获取锁定行为状态表,从锁定行为状态表中,删除关联存储的待解锁的目标行为标识和业务模块标识。
具体地,在锁定行为状态表中,当与待解锁的目标行为标识关联的业务模块标识为多个时,则从锁定行为状态表中,删除与待解锁的目标行为标识关联、且满足解锁条件的业务模块标识。当与待解锁的目标行为标识关联的业务模块标识为一个时,则从锁定行为状态表中,删除待解锁的目标行为标识及其关联的业务模块标识。
在一实施例中,如图9所示,游戏中行为状态处理方法还包括:
S902,获取游戏中当前业务模块运行过程中接收到的行为执行请求。
在游戏中当前业务模块运行过程中,当接收到行为执行请求时,获取该行为执行请求,以便响应该行为执行请求。具体地,行为执行请求可以由游戏玩家或其他业务模块发起。比如,当前游戏正处于战斗状态,此时由游戏玩家通过终端的触摸屏发起场景跳转请求,服务器会接收到发起的场景跳转请求,以便执行后续的响应操作。
S904,解析行为执行请求,得到目标行为标识。
当接收到行为执行请求时,获取该行为执行请求,并对该请求进行解析,以得到该请求对应的目标行为标识。进一步地,基于所得到的目标行为标识,获取执行该目标行为的实现逻辑,以执行后续操作。其中,实现逻辑为一具体的实现代码。
S906,当调用状态检测接口,根据目标行为标识确定目标行为处于非锁定状态时,执行请求对应的目标行为。
具体地,调用状态检测接口对目标行为标识的当前状态进行检测,当根据目标行为标识确定目标行为处于非锁定状态时,执行行为执行请求对应的目标行为。
进一步地,在游戏行为的实现逻辑中嵌入设置有状态检测逻辑,以通过状态检查逻辑对当前需要执行的行为进行状态检测。具体地,根据解析得到目标行为标识获取对应的实现逻辑,并执行该实现逻辑,基于该实现逻辑中的状态检测逻辑,调用状态检测接口,对目标行为的当前状态进行检测,以检测到目标行为处于非锁定状态时,则表明当前不存在与目标行为冲突的情况,目标行为允许被执行,进而按照目标行为的实现逻辑执行目标行为。
下面结合战斗时不允许场景跳转为例,对本申请的游戏中行为状态处理方法进行说明。其中,战斗模块中预先设置有场景跳转锁定逻辑和场景跳转解锁逻辑,场景模块的跳转逻辑中预先设置有状态检测逻辑。如图10所示,包括以下步骤:
S1001,当运行至预设的锁定逻辑时,获取锁定逻辑中的业务模块标识和与业务模块标识冲突的目标行为标识。
具体地,锁定逻辑中包括当前业务模块标识和待锁定的目标行为标识,也即当前运行的业务模块标识、以及与当前运行的业务模块冲突的目标行为标识,基于对锁定逻辑的分析,获取与业务模块冲突的目标行为标识。在本实施例中,目标行为标识为“场景跳转”。
S1002,调用状态设置接口,将冲突的目标行为标识和业务模块标识关联存储至锁定行为状态表。
当获取到待锁定的行为标识“场景跳转”和业务模块标识“战斗模块”后,通过状态设置接口,将“场景跳转”和“战斗模块”关联,并存储至锁定行为状态表。其中,锁定行为状态表只要能够有效表示当前已锁定的目标行为标识和执行锁定的业务模块标识之间的关联关系即可。比如,可采用如图5所示的存储格式。
S1003,获取游戏中当前业务模块运行过程中接收到的行为执行请求。
在本实施中,当前业务模块可以为当前运行的战斗模块,或者与战斗模块同时运行的其他业务模块,接收到的行为执行请求为“场景跳转”执行请求。
S1004,解析行为执行请求,得到目标行为标识。
当接收到“场景跳转”执行请求时,获取该行为执行请求,并对该请求进行解析,以得到该请求对应的目标行为标识“场景跳转”。进一步地,获取地图模块的跳转逻辑,并基于跳转逻辑中状态检测逻辑的检测结果,决定是否执行地图跳转。
S1005,调用状态检测接口,获取锁定行为状态表。
其中,锁定行为状态表是指记录了当前被锁定的目标行为及其相关信息的数据表。比如,该数据表记录有当前处于锁定状态的目标行为标识。在本实施中,锁定行为状态表记录了“场景跳转”行为标识,以及锁定“场景跳转”的“战斗模块”标识。
S1006,当锁定行为状态表中包括目标行为标识时,确定目标行为处于与当前业务模块冲突所对应的锁定状态。
具体地,将目标行为标识与锁定行为状态表中记载的数据进行比对,当行为状态表中包括目标行为标识时,确定目标行为处于锁定状态。也就是说,只要锁定行为状态表中记录有目标行为标识,则表明该目标行为已被锁定,当前不允许执行。
例如,将“场景跳转”行为标识与锁定行为状态表中记载的数据进行比对,当锁定行为状态表中包括“场景跳转”行为标识时,确定“场景跳转”行为处于锁定状态。
S1007,终止执行行为执行请求对应的目标行为。
例如,在本实施例中,检测到“场景跳转”行为的当前状态为锁定状态,此时,则终止执行“场景跳转”行为。
S1008,获取锁定行为状态表中与目标行为标识对应的业务模块标识。
本实施例中,当目标行为的当前状态为锁定状态时,基于锁定行为状态表中目标行为标识与业务模块标识之间的对应关系,获取与目标行为标识对应的业务模块标识。换而言之,即获取锁定目标行为的业务模块标识。
其中,所获取的业务模块标识既可以是锁定目标行为的其中一个业务模块标识,也可以是多个业务模块标识,可根据需求预先进行具体的设定。同时,还可以设定具体获取哪一个业务模块标识。比如,仅需获取锁定目标行为的第一个业务模块标识。假设锁定行为状态表中,锁定“场景跳转”行为的第一个业务模块为“战斗模块”,此时可获得“战斗模块”标识。
S1009,根据业务模块标识,获取与业务模块标识对应的锁定提示信息。
其中,与业务模块标识对应的锁定提示信息是指业务模块锁定目标行为的锁定说明。业务模块在锁定一行为时,同时会设置对本次锁定操作的说明,该锁定说明即可作为锁定提示信息,在检测到该行为被锁定时被弹出显示。如图11所示,预先设置有战斗模块锁定场景跳转行为的提示信息,具体为“当前正在战斗,无法跳转场景”。
S1010,基于预设显示规则,生成携带有所述锁定提示信息的显示信息。
S1011,将显示信息发送至请求终端。
当确定目标行为的当前状态为锁定状态时,进一步获取锁定该目标行为的业务模块标识,并基于业务模块标识得到该业务模块锁定目标行为的锁定提示信息,按照基于预设显示规则生成携带有所述锁定提示信息的显示信息,并发送至请求终端。请求终端按照显示规则将该锁定提示信息显示于显示界面,以提醒游戏玩家目标行为已被锁定,无法执行。如图11所示,将“当前正在战斗,无法跳转场景”的锁定提示信息显示于显示界面。S1012,当满足行为解锁条件时,获取满足行为解锁条件的业务模块标识。
具体地,在业务模块中预先嵌入对应的解锁逻辑,当运行至预设的解锁逻辑时,即为满足行为解锁条件,获取满足行为解锁条件的业务模块标识。可以理解,在本实施例中,业务模块标识是指当前执行解锁逻辑的业务模块标识。仍然以战斗模块为例,当运行至战斗模块边界时,满足行为解锁条件,此时获取满足行为解锁条件的“战斗模块”标识。
S1013,根据预设的解锁逻辑,获取与业务模块标识冲突的目标行为标识。
基于解锁逻辑,获取与业务模块标识冲突的目标行为标识,也即当前待解锁的目标行为标识。可以理解,在本实施例中,当运行至战斗模块边界时,与“战斗模块”冲突的目标行为标识包括“场景跳转”行为标识。
S1014,调用状态设置接口,获取锁定行为状态表。
其中,锁定行为状态表中关联存储有处于锁定状态的目标行为标识,以及对目标行为进行锁定的业务模块标识。当满足行为解锁条件时,基于预设的解锁逻辑,调用状态设置接口,获取锁定行为状态表。
S1015,从锁定行为状态表中,删除关联存储的业务模块标识以及与业务模块标识冲突的目标行为标识。
当满足行为解锁条件时,基于预设的解锁逻辑,获取满足行为解锁条件的待解锁的目标行为标识和业务模块标识,并进一步调用状态设置接口,获取锁定行为状态表,从锁定行为状态表中,删除关联存储的待解锁的目标行为标识和业务模块标识。
具体地,当当前锁定“场景跳转”行为的业务模块仅包括“战斗模块”时,则删除行为状态表中的“场景跳转”行为标识,及其关联的“战斗模块”标识;当当前锁定“场景跳转”行为的业务模块还包括“战斗模块”以外的其他业务模块时,则删除锁定行为状态表中,与“场景跳转”行为标识关联的“战斗模块”标识即可。
进一步地,游戏中行为状态处理方法还包括:
S1016,当锁定行为状态表中未包括目标行为标识时,确定目标行为处于非锁定状态。
在本实施例中,基于预设的状态检测逻辑,需要进行行为状态检测时,调用状态检测接口获取行为状态表,将目标行为标识与锁定行为状态表中记载的数据进行比对,当行为状态表中未包括目标行为标识时,确定目标行为处于非锁定状态。也就是说,只要锁定行为状态表中未记录有目标行为标识,则表明该目标行为未被锁定,当前允许执行。
S1017,执行请求对应的目标行为。
当目标行为的当前状态为非锁定状态时,则表明当前不存在与目标行为冲突的情况,目标行为允许被执行,进而按照目标行为的实现逻辑执行目标行为。
上述游戏中行为状态处理方法,通过调用状态设置接口对目标行为进行锁定和/或解锁,进一步在接收到行为执行请求时,调用状态检测接口对目标行为的当前状态进行检测,当检测到该目标行为的当前状态为锁定状态时,终止执行该目标行为。通过调用状态检测接口对目标行为状态进行检测,当目标行为为锁定状态时,说明目标行为与当前的业务模块冲突,通过终止执行该目标行为,避免了因继续执行目标行为,而导致出现游戏故障,提高了游戏运行的稳定性和流畅性。并且,通过调用状态检测接口和状态设置接口,采用非侵入式编程的方式实现对行为状态的检测和设置,无需对原游戏代码进行复杂的修改,不依赖于原业务模块的逻辑代码,因此也进一步提高了游戏的可维护性和可扩展性。
图10为一个实施例中游戏中行为状态处理方法的流程示意图。应该理解的是,虽然图10的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图10中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
在一实施例中,如图12所示,提供一种游戏中行为状态处理装置,该装置包括:请求模块1202、解析模块1204和执行模块1206。
请求模块1202,用于获取游戏中当前业务模块运行过程中接收到的行为执行请求。
在游戏中当前业务模块运行过程中,当接收到行为执行请求时,请求模块1202获取该行为执行请求,以便响应该行为执行请求。具体地,行为执行请求可以由游戏玩家或其他业务模块发起。比如,当前游戏正处于战斗状态,此时由游戏玩家通过终端的触摸屏发起场景跳转请求,服务器会接收到发起的场景跳转请求,以执行后续的响应操作,响应操作具体可以包括获取场景跳转逻辑,判断是否执行场景跳转;再如,某角色正在执行设定任务时,道具模块发起是否购买新道具的提示请求,服务器会接收该提示请求,并响应该请求,响应操作具体可以包括获取该提示实现逻辑,判断是否可以进行提示。
解析模块1204,用于解析行为执行请求,得到目标行为标识。
当接收到行为执行请求时,获取该行为执行请求,并通过解析模块1204对该请求进行解析,以得到该请求对应的目标行为标识。进一步地,基于所得到的目标行为标识,获取执行该目标行为的实现逻辑,以执行后续操作。其中,实现逻辑为具体的实现代码。
执行模块1206,用于当调用状态检测接口,根据目标行为标识确定目标行为处于与当前业务模块冲突所对应的锁定状态时,终止执行行为执行请求对应的目标行为。
具体地,执行模块1206调用状态检测接口对目标行为标识的当前状态进行检测,当根据目标行为标识确定目标行为处于与当前业务模块冲突所对应的锁定状态时,终止执行行为执行请求对应的目标行为。比如,在游戏正处于战斗状态时不允许进行场景跳转,当接收到发起的场景跳转请求时,对场景跳转行为的当前状态进行检测,当场景跳转行为的当前状态为锁定状态,则终止执行场景跳转。
进一步地,在游戏行为的实现逻辑中嵌入设置有状态检测逻辑,以通过状态检查逻辑对当前需要执行的行为进行状态检测。具体地,执行模块1206根据解析得到目标行为标识获取与该目标行为对应的实现逻辑,并执行该实现逻辑,基于该实现逻辑中的状态检测逻辑,调用状态检测接口,对目标行为的当前状态进行检测,以检测目标行为当前是否被锁定,进而根据检测结果确定是否执行该目标行为。当检测到目标行为当前处于为锁定状态时,拒绝执行请求对应的目标行为。
上述游戏中行为状态处理装置,在游戏中当前业务模块运行过程中,当接收到行为执行请求时,通过解析行为执行请求得到目标行为标识,当调用状态检测接口,根据目标行为标识确定目标行为处于与当前业务模块冲突所对应的锁定状态时,终止执行行为执行请求对应的目标行为。通过调用状态检测接口对目标行为状态进行检测,当目标行为为锁定状态时,说明目标行为与当前的业务模块冲突,通过终止执行该目标行为,避免了因继续执行目标行为,而导致出现游戏故障,提高了游戏运行的稳定性和流畅性。
在一实施例中,执行模块1206还用于当调用状态检测接口,根据目标行为标识确定目标行为处于非锁定状态时,执行请求对应的目标行为。
具体地,执行模块1206根据解析得到目标行为标识获取对应的实现逻辑,并执行该实现逻辑,基于该实现逻辑中的状态检测逻辑,调用状态检测接口,对目标行为的当前状态进行检测,以检测到目标行为处于非锁定状态时,则表明当前不存在与目标行为冲突的情况,目标行为允许被执行,进而按照目标行为的实现逻辑执行目标行为。
在一实施例中,如图13所示,执行模块1206进一步包括:状态检测接口调用模块1302、状态确定模块1304和执行子模块1306。
状态检测接口调用模块1302,用于调用状态检测接口,获取锁定行为状态表。
其中,锁定行为状态表是指记录了当前被锁定的行为及其相关信息的数据表。比如,该数据表记录有当前处于锁定状态的行为标识。通过状态检测接口调用模块1302调用状态检测接口,以获取锁定行为状态表。
状态确定模块1304,用于当锁定行为状态表中包括目标行为标识时,确定目标行为处于与当前业务模块冲突所对应的锁定状态。
在本实施例中,状态确定模块1304将目标行为标识与锁定行为状态表中记载的数据进行比对,当锁定行为状态表中包括目标行为标识时,确定目标行为处于锁定状态。也就是说,只要锁定行为状态表中记录有目标行为标识,则表明该目标行为已被锁定,当前不允许执行。
进一步地,状态确定模块1304,还用于当锁定行为状态表中未包括目标行为标识时,确定目标行为处于非锁定状态。
执行子模块1306,用于终止执行行为执行请求对应的目标行为。
当确定目标行为处于锁定状态,则说明目标行为与当前业务模块相冲突,在此情况下,不允许目标行为被执行。因此,执行子模块1306终止执行行为执行请求对应的目标行为,以避免在当前业务模块运行过程中,因执行该目标行为而导致游戏故障。
在一实施例中,游戏中行为状态处理装置还包括锁定提示模块,该锁定提示模块用于获取锁定提示信息,基于预设的显示规则,生成携带有锁定提示信息的显示信息。比如,预设的显示规则为在提示框中显示锁定提示信息,当确定了目标行为处于锁定状态时,通过锁定提示模块按照预设的显示规则,生成携带有锁定提示信息的显示信息,以在请求终端的显示界面弹出提示框,并在提示框中显示锁定提示信息,以提示游戏玩家目标行为已被锁定,不允许执行。在一个实施例中,锁定提示信息可以为警告提示,例如在用户的显示界面显示“目标行为(例如地图传送)被锁定”。在另一个实施例中,锁定提示信息还可以为锁定状态和锁定原因,即提示目标行为被锁定以及与目标行为相冲突的业务模块。
在一实施例中,锁定提示模块包括:状态表查找模块、提示信息获取模块和显示信息生成模块,其中:
状态表查找模块,用于获取锁定行为状态表中与目标行为标识对应的业务模块标识。
本实施例中,当目标行为的当前状态为锁定状态时,状态表查找模块基于锁定行为状态表中目标行为标识与业务模块标识之间的对应关系,获取与目标行为标识对应的业务模块标识。换而言之,即获取锁定目标行为的业务模块标识。
其中,所获取的业务模块标识既可以是锁定目标行为的其中一个业务模块标识,也可以是多个业务模块标识,可根据需求预先进行具体的设定。同时,还可以设定具体获取哪一个业务模块标识。比如,仅需获取锁定目标行为的第一个业务模块标识。
提示信息获取模块,用于根据业务模块标识,获取与业务模块标识对应的锁定提示信息。其中,与业务模块标识对应的锁定提示信息是指业务模块锁定目标行为的锁定说明。
本实施例中,基于所获得的业务模块标识,获取与业务模块标识对应的锁定提示信息,以对当前的行为执行请求进行响应。具体地,当获得的业务模块标识仅为锁定目标行为的第一个业务模块标识时,对应地,也仅需获取与第一个业务模块标识对应的锁定提示信息。
显示信息生成模块,用于基于预设显示规则,生成携带有所述锁定提示信息的显示信息。
当确定目标行为的当前状态为锁定状态时,进一步获取锁定该目标行为的业务模块标识,并基于业务模块标识得到该业务模块锁定目标行为的锁定提示信息,按照预设的显示规则生成携带有锁定提示信息的显示信息,以便显示锁定提示信息。
进一步地,显示信息生成模块还用于将显示信息发送至请求终端。通过将显示信息发送至对应的请求终端,由请求终端按照显示规则将该锁定提示信息显示于显示界面,以提醒游戏玩家目标行为已被锁定,无法执行。
在一实施例中,游戏中行为状态处理装置还包括:锁定标识获取模块和锁定模块。
锁定标识获取模块,用于当运行至预设的锁定逻辑时,获取锁定逻辑中的业务模块标识和与业务模块标识冲突的目标行为标识。
基于业务模块和目标行为之间需要避免的状态冲突,在业务模块中预先设置对应的锁定逻辑,以在业务模块的运行时,执行预设的锁定逻辑。比如,在游戏正处于战斗状态时不允许进行场景跳转,则在战斗模块中增加“场景跳转”的锁定逻辑。
具体地,锁定逻辑中包括当前业务模块标识和待锁定的目标行为标识,也即当前运行的业务模块标识、以及与当前运行的业务模块冲突的目标行为标识,锁定标识获取模块基于对锁定逻辑的分析,获取业务模块标识和与业务模块冲突的目标行为标识。
锁定模块,用于调用状态设置接口,将冲突的目标行为标识和业务模块标识关联存储至锁定行为状态表。
当确定了待锁定的目标行为标识和业务模块标识后,锁定模块1306调用状态设置接口,将待锁定的、冲突的目标行为标识和业务模块标识关联,并存储至锁定行为状态表。其中,锁定行为状态表只要能够有效表示当前已锁定的目标行为标识和执行锁定的业务模块标识之间的关联关系即可。比如,可采用如图5所示的存储格式。
在一实施例中,如图14所示,游戏中行为状态处理装置还包括:业务模块标识获取模块1402、目标行为标识获取模块1404和解锁模块1406。
业务模块标识获取模块1402,用于当满足行为解锁条件时,获取满足行为解锁条件的业务模块标识。
具体地,在业务模块中预先设置对应的解锁逻辑,当运行至预设的解锁逻辑时,即为满足行为解锁条件,业务模块标识获取模块1402获取满足行为解锁条件的业务模块标识。可以理解,在本实施例中,业务模块标识是指当前执行解锁逻辑的业务模块标识。
目标行为标识获取模块1404,用于根据预设的解锁逻辑,获取与业务模块标识冲突的目标行为标识。
解锁逻辑中包括与业务模块标识冲突的目标行为标识,目标行为标识获取模块1404对预设的解锁逻辑进行分析,获取与业务模块标识冲突的目标行为标识,也即当前待解锁的目标行为标识。
解锁模块1406,用于调用状态设置接口,解除业务模块标识以及与业务模块标识冲突的目标行为标识之间的锁定关系。
具体地,当获取到满足行为解锁条件的业务模块标识及其对应的目标行为标识后,解锁模块1406通过状态设置接口,解除业务模块标识以及与业务模块标识冲突的目标行为标识之间的锁定关系。当某一目标行为标识的所有锁定关系均解除时,则该目标行为标识对应的目标行为允许被执行。
进一步地,解锁模块1406还包括:状态设置接口调用模块和删除模块。其中,调用状态设置接口,用于获取锁定行为状态表;删除模块,用于从锁定行为状态表中,删除关联存储的业务模块标识以及与业务模块标识冲突的目标行为标识。
当满足行为解锁条件时,在获取到满足行为解锁条件的待解锁的目标行为标识和业务模块标识后,由状态设置接口调用模块调用状态设置接口,获取锁定行为状态表,删除模块从锁定行为状态表中,删除关联存储的待解锁的目标行为标识和业务模块标识。
具体地,在锁定行为状态表中,当与待解锁的目标行为标识关联的业务模块标识为多个时,删除模块从锁定行为状态表中,删除与待解锁的目标行为标识关联、且满足解锁条件的业务模块标识。当与待解锁的目标行为标识关联的业务模块标识为一个时,删除模块从锁定行为状态表中,删除待解锁的目标行为标识及其关联的业务模块标识。
上述游戏中行为状态处理装置,通过调用状态设置接口对目标行为进行锁定和/或解锁,进一步在接收到行为执行请求时,调用状态检测接口对目标行为的当前状态进行检测,当检测到该目标行为的当前状态为锁定状态时,终止执行该目标行为。通过调用状态检测接口对目标行为状态进行检测,当目标行为为锁定状态时,说明目标行为与当前的业务模块冲突,通过终止执行该目标行为,避免了因继续执行目标行为,而导致出现游戏故障,提高了游戏运行的稳定性和流畅性。并且,通过调用状态检测接口和状态设置接口,采用非侵入式编程的方式实现对行为状态的检测和设置,无需对原游戏代码进行复杂的修改,不依赖于原业务模块的逻辑代码,因此也进一步提高了游戏的可维护性和可扩展性。
图15示出了一个实施例中计算机设备的内部结构图。该计算机设备具体可以是图1中的服务器120。如图15所示,该计算机设备包括该计算机设备包括通过系统总线连接的处理器、存储器、网络接口和数据库。其中,处理器用于提供计算和控制能力。存储器包括非易失性存储介质和内存储器。该计算机设备的非易失性存储介质存储有操作系统,还可存储有计算机程序,该计算机程序被处理器执行时,可使得处理器实现游戏中行为状态处理方法。该内存储器中也可储存有计算机程序,该计算机程序被处理器执行时,可使得处理器执行游戏中行为状态处理方法。该计算机设备的数据库用于存储游戏数据。该计算机设备的网络接口用于与外部的终端通过网络连接通信。
本领域技术人员可以理解,图15中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,本申请提供的游戏中行为状态处理装置可以实现为一种计算机程序的形式,计算机程序可在如图15所示的计算机设备上运行。计算机设备的存储器中可存储组成该游戏中行为状态处理装置的各个程序模块,比如,图12所示的请求模块1202、解析模块1204和执行模块1206。各个程序模块构成的计算机程序使得处理器执行本说明书中描述的本申请各个实施例的游戏中行为状态处理方法中的步骤。
在一个实施例中,提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现以下步骤:
获取游戏中当前业务模块运行过程中接收到的行为执行请求;
解析行为执行请求,得到目标行为标识;
当调用状态检测接口,根据目标行为标识确定目标行为处于与当前业务模块冲突所对应的锁定状态时,终止执行行为执行请求对应的目标行为。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:
调用状态检测接口,获取锁定行为状态表;
当锁定行为状态表中包括目标行为标识时,确定目标行为处于与当前业务模块冲突所对应的锁定状态;
终止执行行为执行请求对应的目标行为。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:
当锁定行为状态表中未包括目标行为标识时,确定目标行为处于非锁定状态。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:
获取锁定提示信息;
基于预设的显示规则,生成携带有锁定提示信息的显示信息。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:
获取锁定行为状态表中与目标行为标识对应的业务模块标识;
根据业务模块标识,获取与业务模块标识对应的锁定提示信息。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:
当运行至预设的锁定逻辑时,获取锁定逻辑中的业务模块标识和与业务模块标识冲突的目标行为标识;
调用状态设置接口,将冲突的目标行为标识和业务模块标识关联存储至锁定行为状态表。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:
当满足行为解锁条件时,获取满足行为解锁条件的业务模块标识;
根据预设的解锁逻辑,获取与业务模块标识冲突的目标行为标识;
调用状态设置接口,解除业务模块标识以及与业务模块标识冲突的目标行为标识之间的锁定关系。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:
调用状态设置接口,获取锁定行为状态表;
从锁定行为状态表中,删除关联存储的业务模块标识以及与业务模块标识冲突的目标行为标识。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:
当调用状态检测接口,根据目标行为标识确定目标行为处于非锁定状态时,执行请求对应的目标行为。
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现以下步骤:
获取游戏中当前业务模块运行过程中接收到的行为执行请求;
解析行为执行请求,得到目标行为标识;
当调用状态检测接口,根据目标行为标识确定目标行为处于与当前业务模块冲突所对应的锁定状态时,终止执行行为执行请求对应的目标行为。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:
调用状态检测接口,获取锁定行为状态表;
当锁定行为状态表中包括目标行为标识时,确定目标行为处于与当前业务模块冲突所对应的锁定状态;
终止执行行为执行请求对应的目标行为。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:
当锁定行为状态表中未包括目标行为标识时,确定目标行为处于非锁定状态。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:
获取锁定提示信息;
基于预设的显示规则,生成携带有锁定提示信息的显示信息。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:
获取锁定行为状态表中与目标行为标识对应的业务模块标识;
根据业务模块标识,获取与业务模块标识对应的锁定提示信息。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:
当运行至预设的锁定逻辑时,获取锁定逻辑中的业务模块标识和与业务模块标识冲突的目标行为标识;
调用状态设置接口,将冲突的目标行为标识和业务模块标识关联存储至锁定行为状态表。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:
当满足行为解锁条件时,获取满足行为解锁条件的业务模块标识;
根据预设的解锁逻辑,获取与业务模块标识冲突的目标行为标识;
调用状态设置接口,解除业务模块标识以及与业务模块标识冲突的目标行为标识之间的锁定关系。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:
调用状态设置接口,获取锁定行为状态表;
从锁定行为状态表中,删除关联存储的业务模块标识以及与业务模块标识冲突的目标行为标识。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:
当调用状态检测接口,根据目标行为标识确定目标行为处于非锁定状态时,执行请求对应的目标行为。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一非易失性计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(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)等。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本申请专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。
Claims (16)
1.一种游戏中行为状态处理方法,其特征在于,所述方法包括:
获取游戏中当前业务模块运行过程中接收到的行为执行请求;所述当前业务模块,包括一个或多个当前正在运行的业务模块;所述业务模块是指游戏开发过程中基于业务功能划分的逻辑代码;所述业务模块包括战斗模块、地图模块、背包模块和角色模块;
解析所述行为执行请求,得到目标行为标识;
调用状态检测接口,获取锁定行为状态表;所述锁定行为状态表用于记录处于锁定状态的行为的行为标识、以及对所述行为进行锁定的业务模块标识;所述行为是指游戏运行过程中所能实现的操作;所述行为包括场景跳转、更换装备和主动攻击;
当所述锁定行为状态表中包括所述目标行为标识,且对所述目标行为标识所表征的目标行为进行锁定的业务模块标识包括所述当前业务模块的业务模块标识时,确定目标行为处于与所述当前业务模块冲突所对应的锁定状态;
终止执行所述行为执行请求对应的目标行为;
当满足行为解锁条件时,获取满足所述行为解锁条件的业务模块标识;
根据预设的解锁逻辑,获取与所述业务模块标识冲突的目标行为标识;
调用状态设置接口,解除所述业务模块标识以及与所述业务模块标识冲突的目标行为标识之间的锁定关系。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
当所述锁定行为状态表中未包括所述目标行为标识时,确定目标行为处于非锁定状态。
3.根据权利要求1所述的方法,其特征在于,所述方法还包括:
获取锁定提示信息;
基于预设的显示规则,生成携带有所述锁定提示信息的显示信息。
4.根据权利要求3所述的方法,其特征在于,所述获取锁定提示信息,包括:
获取锁定行为状态表中与所述目标行为标识对应的业务模块标识;
根据所述业务模块标识,获取与所述业务模块标识对应的锁定提示信息。
5.根据权利要求1所述的方法,其特征在于,所述方法还包括:
当运行至预设的锁定逻辑时,获取所述锁定逻辑中的业务模块标识和与所述业务模块标识冲突的目标行为标识;
调用状态设置接口,将冲突的所述目标行为标识和所述业务模块标识关联存储至锁定行为状态表。
6.根据权利要求1所述的方法,其特征在于,所述调用状态设置接口,解除所述业务模块标识以及与所述业务模块标识冲突的目标行为标识之间的锁定关系,包括:
调用状态设置接口,获取所述锁定行为状态表;
从所述锁定行为状态表中,删除关联存储的所述业务模块标识以及与所述业务模块标识冲突的目标行为标识。
7.根据权利要求1至6中任一项所述的方法,其特征在于,所述方法还包括:
当调用状态检测接口,根据所述目标行为标识确定目标行为处于非锁定状态时,执行所述请求对应的目标行为。
8.一种游戏中行为状态处理装置,其特征在于,所述装置包括:
请求模块,用于获取游戏中当前业务模块运行过程中接收到的行为执行请求;所述当前业务模块,包括一个或多个当前正在运行的业务模块;所述业务模块是指游戏开发过程中基于业务功能划分的逻辑代码;所述业务模块包括战斗模块、地图模块、背包模块和角色模块;
解析模块,用于解析所述行为执行请求,得到目标行为标识;
状态检测接口调用模块,用于调用状态检测接口,获取锁定行为状态表;所述锁定行为状态表用于记录处于锁定状态的行为的行为标识、以及对所述行为进行锁定的业务模块标识;所述行为是指游戏运行过程中所能实现的操作;所述行为包括场景跳转、更换装备和主动攻击;
状态确定模块,用于当所述锁定行为状态表中包括所述目标行为标识,且对所述目标行为标识所表征的目标行为进行锁定的业务模块标识包括所述当前业务模块的业务模块标识时,确定目标行为处于与所述当前业务模块冲突所对应的锁定状态;
执行子模块,用于终止执行所述行为执行请求对应的目标行为;
业务模块标识获取模块,用于当满足行为解锁条件时,获取满足所述行为解锁条件的业务模块标识;
目标行为标识获取模块,用于根据预设的解锁逻辑,获取与所述业务模块标识冲突的目标行为标识;
解锁模块,用于调用状态设置接口,解除所述业务模块标识以及与所述业务模块标识冲突的目标行为标识之间的锁定关系。
9.根据权利要求8所述的装置,其特征在于,所述状态确定模块,还用于当所述锁定行为状态表中未包括所述目标行为标识时,确定目标行为处于非锁定状态。
10.根据权利要求8所述的装置,其特征在于,所述装置还包括:
锁定提示模块,用于获取锁定提示信息,基于预设的显示规则,生成携带有所述锁定提示信息的显示信息。
11.根据权利要求10所述的装置,其特征在于,所述锁定提示模块包括:
状态表查找模块,用于获取锁定行为状态表中与所述目标行为标识对应的业务模块标识;
提示信息获取模块,用于根据所述业务模块标识,获取与所述业务模块标识对应的锁定提示信息。
12.根据权利要求8所述的装置,其特征在于,所述装置还包括:
锁定标识获取模块,用于当运行至预设的锁定逻辑时,获取所述锁定逻辑中的业务模块标识和与所述业务模块冲突的目标行为标识;
锁定模块,用于调用状态设置接口,将冲突的所述目标行为标识和所述业务模块标识关联存储至锁定行为状态表。
13.根据权利要求8所述的装置,其特征在于,所述解锁模块包括:
状态设置接口调用模块,用于调用状态设置接口,获取所述锁定行为状态表;
删除模块,用于从所述锁定行为状态表中,删除关联存储的所述业务模块标识以及与所述业务模块标识冲突的目标行为标识。
14.根据权利要求8至13中任一项所述的装置,其特征在于,所述执行子模块还用于当调用状态检测接口,根据所述目标行为标识确定目标行为处于非锁定状态时,执行所述请求对应的目标行为。
15.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至7中任一项所述方法的步骤。
16.一种计算机可读存储介质,存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至7中任一项所述方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810642701.3A CN108854066B (zh) | 2018-06-21 | 2018-06-21 | 游戏中行为状态处理方法、装置、计算机设备和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810642701.3A CN108854066B (zh) | 2018-06-21 | 2018-06-21 | 游戏中行为状态处理方法、装置、计算机设备和存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108854066A CN108854066A (zh) | 2018-11-23 |
CN108854066B true CN108854066B (zh) | 2024-03-12 |
Family
ID=64340121
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810642701.3A Active CN108854066B (zh) | 2018-06-21 | 2018-06-21 | 游戏中行为状态处理方法、装置、计算机设备和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108854066B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110943862B (zh) * | 2019-11-26 | 2022-10-14 | 北京达佳互联信息技术有限公司 | 互斥业务判断方法、装置、电子设备及存储介质 |
Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1430155A (zh) * | 2001-12-30 | 2003-07-16 | 利文劲 | 一种在互联网上实现交互式动画系统的方法 |
CN1989491A (zh) * | 2004-07-28 | 2007-06-27 | 松下电器产业株式会社 | 冲突解决装置 |
JP2011000244A (ja) * | 2009-06-17 | 2011-01-06 | Sankyo Co Ltd | 遊技機 |
TW201145003A (en) * | 2010-06-15 | 2011-12-16 | Wistron Corp | Method capable of preventing error data writing and computer system |
CN102728063A (zh) * | 2011-03-31 | 2012-10-17 | 株式会社万代南梦宫游戏 | 游戏终端装置和服务器系统 |
JP2013208365A (ja) * | 2012-03-30 | 2013-10-10 | Namco Bandai Games Inc | サーバシステム、プログラム及び情報記憶媒体 |
CN104144528A (zh) * | 2013-05-09 | 2014-11-12 | 马维尔国际有限公司 | 一种用于解决多模多卡冲突的方法、设备和装置 |
CN105190487A (zh) * | 2014-03-21 | 2015-12-23 | 三星电子株式会社 | 用于防止主体间冲突的方法和设备 |
CN106846442A (zh) * | 2017-03-06 | 2017-06-13 | 西安电子科技大学 | 基于Unity3D的三维虚拟人群场景生成方法 |
CN107126698A (zh) * | 2017-04-24 | 2017-09-05 | 网易(杭州)网络有限公司 | 游戏虚拟对象的控制方法、装置、电子设备及可读介质 |
CN108139946A (zh) * | 2015-10-16 | 2018-06-08 | 高通股份有限公司 | 用于在冲突存在时进行有效任务调度的方法 |
-
2018
- 2018-06-21 CN CN201810642701.3A patent/CN108854066B/zh active Active
Patent Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1430155A (zh) * | 2001-12-30 | 2003-07-16 | 利文劲 | 一种在互联网上实现交互式动画系统的方法 |
CN1989491A (zh) * | 2004-07-28 | 2007-06-27 | 松下电器产业株式会社 | 冲突解决装置 |
JP2011000244A (ja) * | 2009-06-17 | 2011-01-06 | Sankyo Co Ltd | 遊技機 |
TW201145003A (en) * | 2010-06-15 | 2011-12-16 | Wistron Corp | Method capable of preventing error data writing and computer system |
CN102728063A (zh) * | 2011-03-31 | 2012-10-17 | 株式会社万代南梦宫游戏 | 游戏终端装置和服务器系统 |
JP2013208365A (ja) * | 2012-03-30 | 2013-10-10 | Namco Bandai Games Inc | サーバシステム、プログラム及び情報記憶媒体 |
CN104144528A (zh) * | 2013-05-09 | 2014-11-12 | 马维尔国际有限公司 | 一种用于解决多模多卡冲突的方法、设备和装置 |
CN105190487A (zh) * | 2014-03-21 | 2015-12-23 | 三星电子株式会社 | 用于防止主体间冲突的方法和设备 |
CN108139946A (zh) * | 2015-10-16 | 2018-06-08 | 高通股份有限公司 | 用于在冲突存在时进行有效任务调度的方法 |
CN106846442A (zh) * | 2017-03-06 | 2017-06-13 | 西安电子科技大学 | 基于Unity3D的三维虚拟人群场景生成方法 |
CN107126698A (zh) * | 2017-04-24 | 2017-09-05 | 网易(杭州)网络有限公司 | 游戏虚拟对象的控制方法、装置、电子设备及可读介质 |
Also Published As
Publication number | Publication date |
---|---|
CN108854066A (zh) | 2018-11-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
RU2678496C2 (ru) | Диспетчер политик устройства | |
JP2020504865A (ja) | アプリケーションデータ処理方法、装置、及び記憶媒体 | |
CN110502487B (zh) | 一种缓存管理方法与装置 | |
CN109831419A (zh) | shell程序权限的确定方法及装置 | |
US20110191453A1 (en) | Applicability detection using third party target state | |
US11995453B2 (en) | Method and apparatus for generating image file and computer-readable storage medium | |
CN111330280B (zh) | 游戏中的数据处理方法、装置、存储介质与电子设备 | |
CN108399331A (zh) | 应用进程试用方法和系统 | |
RU2645265C2 (ru) | Система и способ блокировки элементов интерфейса приложения | |
CN106155753A (zh) | 一种应用程序安装方法、装置和终端 | |
CN108228353A (zh) | 资源访问控制方法、装置及相应终端 | |
CN115048642A (zh) | 多可信执行环境下可信应用间的通信方法及电子设备 | |
US12079655B2 (en) | Secure incident investigation workspace generation and investigation control | |
CN111459547B (zh) | 一种函数调用链路的展示方法和装置 | |
CN108854066B (zh) | 游戏中行为状态处理方法、装置、计算机设备和存储介质 | |
KR101977428B1 (ko) | 애플리케이션용 콘텐츠 핸들링 기법 | |
CN113271364B (zh) | 服务编排数据的共享系统、方法、计算机设备及存储介质 | |
US20110138452A1 (en) | Cross security-domain identity context projection within a computing environment | |
CN117807039B (zh) | 一种容器处理方法、装置、设备、介质及程序产品 | |
CN114547676A (zh) | 应用程序页面的权限控制方法及装置 | |
WO2023193633A1 (zh) | 图像分析方法、装置、计算机设备以及存储介质 | |
US20230289457A1 (en) | Preventing Illicit Data Transfer and Storage | |
CN117056908A (zh) | 应用程序的风险控制方法、装置、计算机设备和存储介质 | |
CN109388508B (zh) | 一种实现零依赖的嵌入式cache共享系统和方法 | |
CN112181793B (zh) | 一种日志记录方法、装置及设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
TG01 | Patent term adjustment | ||
TG01 | Patent term adjustment |