CN109683897B - 程序处理方法、装置及设备 - Google Patents
程序处理方法、装置及设备 Download PDFInfo
- Publication number
- CN109683897B CN109683897B CN201811636800.7A CN201811636800A CN109683897B CN 109683897 B CN109683897 B CN 109683897B CN 201811636800 A CN201811636800 A CN 201811636800A CN 109683897 B CN109683897 B CN 109683897B
- Authority
- CN
- China
- Prior art keywords
- state
- name
- interface
- target
- information
- 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 claims abstract description 109
- 238000006243 chemical reaction Methods 0.000 claims abstract description 76
- 230000008569 process Effects 0.000 claims abstract description 61
- 230000003993 interaction Effects 0.000 claims abstract description 47
- 230000007704 transition Effects 0.000 claims description 104
- 230000001960 triggered effect Effects 0.000 description 18
- 230000009471 action Effects 0.000 description 12
- 239000004744 fabric Substances 0.000 description 11
- 239000004575 stone Substances 0.000 description 11
- 238000010586 diagram Methods 0.000 description 7
- 238000003672 processing method Methods 0.000 description 6
- 238000011161 development Methods 0.000 description 5
- 230000006870 function Effects 0.000 description 5
- 238000004590 computer program Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000009191 jumping Effects 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 238000003491 array Methods 0.000 description 1
- 210000001072 colon Anatomy 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/40—Transformation of program code
Landscapes
- Engineering & Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Stored Programmes (AREA)
- User Interface Of Digital Computer (AREA)
Abstract
本申请公开了一种程序处理方法、装置及设备。该方法包括:获取目标状态机名称和目标事件名称,并根据所述目标状态机名称和所述目标事件名称生成目标标识符;在预存的状态转换信息表中查找所述目标标识符对应的状态转换信息;根据所述状态转换信息进行场景交互过程的状态转换。采用上述方案后,无需进行额外的判断,简化了程序开发的流程,提高了程序开发的效率,加快了场景的交互速度,给用户带来了良好的体验。
Description
技术领域
本申请涉及计算机技术领域,尤其涉及一种程序处理方法、装置及设备。
背景技术
随着网络技术的不断发展,游戏已经逐渐成为人们日常休闲生活中的一部分。
目前,无论是网络游戏还是单机游戏,通常会设置很多场景交互过程,来提高游戏的趣味性,进而提高用户的游戏参与度。
但是,随着游戏场景交互过程的增多,在开发过程中,需要触发的条件越来越多,需要进行的条件判断也会越来越多,导致程序开发的逻辑臃肿,流程混乱,降低了程序开发的效率。
发明内容
本申请实施例提供一种程序处理方法、装置及设备,用以解决现有技术中对于开发过程中,需要触发的条件越来越多,需要进行的条件判断也会越来越多,导致程序开发的逻辑臃肿,流程混乱的问题。
本申请实施例提供的一种程序处理方法,包括:获取目标状态机名称和目标事件名称,并根据所述目标状态机名称和所述目标事件名称生成目标标识符;
在预存的状态转换信息表中查找所述目标标识符对应的状态转换信息;
根据所述状态转换信息进行场景交互过程的状态转换。
可选地,在所述在预存的状态转换信息表中查找所述目标关键字对应的状态转换信息之前,还包括:
获取配置服务器配置的状态转换配置信息,所述状态转换配置信息包括状态机名称、事件名称和状态转换信息;
根据所述状态机名称和所述事件名称形成所述状态转换信息的第一标识符,并将所述第一标识符和所述状态转换信息存储为状态转换信息表。
可选地,所述状态转换信息具体包括原状态、目的状态和接口名称,所述根据所述状态转换信息进行场景交互过程的状态转换具体包括:
根据预存的接口实现类对应表确定所述接口名称对应的实现类;
根据确定的所述接口名称对应的实现类将场景交互过程的状态由原状态转换到目的状态。
可选地,在所述根据预存的接口实现类对应表确定所述接口名称对应的实现类之前,所述方法还包括:
获取配置服务器配置的接口名称对应的实现类,所述实现类包括接口的实现方法、接口名称和接口所属的状态机名称;
根据所述接口名称和所述状态机名称形成接口的实现方法的第二标识符,并将所述第二标识符和接口的实现方法存储到接口实现类对应表中。
可选地,所述获取配置服务器配置的状态转换配置信息之后,还包括:
对于所述状态转换配置信息中的任意一条配置信息,判断是否所述任意一条配置信息中的状态机名称存在且事件名称存在且所述状态转换信息中的接口名称不重复,否则,生成状态转换配置信息错误的提示。
本申请实施例提供的一种程序处理装置,包括:标识符生成模块,用于获取目标状态机名称和目标事件名称,并根据所述目标状态机名称和所述目标事件名称生成目标标识符;
信息查找模块,用于在预存的状态转换信息表中查找所述目标标识符对应的状态转换信息;
状态转换模块,用于根据所述状态转换信息进行场景交互过程的状态转换。
可选地,所述装置还包括:配置信息获取模块,用于获取配置服务器配置的状态转换配置信息,所述状态转换配置信息包括状态机名称、事件名称和状态转换信息;
第一标识生成模块,用于根据所述状态机名称和所述事件名称形成所述状态转换信息的第一标识符,并将所述第一标识符和所述状态转换信息存储为状态转换信息表。
可选地,所述状态转换信息具体包括原状态、目的状态和接口名称,所述状态转换模块具体包括:
实现类确定单元,用于根据预存的接口实现类对应表确定所述接口名称对应的实现类;
过程转换单元,用于根据确定的所述接口名称对应的实现类将场景交互过程的状态由原状态转换到目的状态。
本申请实施例提供一种程序处理设备,包括:
至少一个处理器;以及,
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,
所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行所述一种程序处理方法。
本申请实施例提供一种计算机可读存储介质,所述计算机可读存储介质上存储有指令,所述指令被处理器执行时实现所述一种程序处理方法。
本申请实施例提供一种程序处理方法、装置及设备,该方法包括:获取目标状态机名称和目标事件名称,并根据所述目标状态机名称和所述目标事件名称生成目标标识符;在预存的状态转换信息表中查找所述目标标识符对应的状态转换信息;根据所述状态转换信息进行场景交互过程的状态转换。通过上述方法,当有场景交互过程的状态转换时,只需要根据触发的状态机名称和事件名称确定标识符,再根据标识符确定标识符对应的状态转换信息,然后根据确定的状态转换信息直接进行状态转换即可,无需进行额外的判断,简化了程序开发的流程,提高了程序开发的效率,加快了场景的交互速度,给用户带来了良好的体验。
附图说明
此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
图1为本申请实施例提供的程序处理方法的流程示意图;
图2为本申请实施例提供的生成状态转换信息表的流程示意图;
图3为本申请实施例中根据状态转换信息进行场景交互过程的状态转换的具体实现方式的流程示意图;
图4为本申请实施例提供的应用程序处理方法的剪刀石头布的应用示意图;
图5为本申请实施例提供的应用程序处理方法的剪刀石头布游戏的开始界面示意图;
图6为本申请实施例提供的应用程序处理方法的剪刀石头布游戏的游戏结果界面示意图;
图7为本申请实施例提供的程序处理装置的结构示意图;
图8为本申请实施例提供的程序处理设备的结构示意图。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚,下面将结合本申请具体实施例及相应的附图对本申请技术方案进行清楚、完整地描述。显然,所描述的实施例仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
图1为本申请实施例提供的针对一种程序处理方法的流程示意图,具体可以包括以下步骤:
S101,获取目标状态机名称和目标事件名称,并根据所述目标状态机名称和所述目标事件名称生成目标标识符。
在计算机科学中,可以把状态机认为是一个有向图形,由一组节点和一组相应的转移函数组成。状态机通过响应一系列事件而运行。每个事件都在属于当前节点的转移函数的控制范围内,其中函数的范围是节点的一个子集。函数返回下一个(也许是同一个)节点。这些节点中至少有一个必须是终态。当到达终态,状态机停止。
应用程序由外部发生的事件来驱动,具体需要执行的代码取决于接收到的事件,或者它相对于其他事件的抵达时间。控制流程要依赖于外部事件。状态机包含状态转换信息,当触发状态机对应的事件时,会根据状态转换信息直接进行状态转换。例如,在游戏的场景交互过程中,会涉及到状态的转换。如在一个场景交互过程中,涉及到A状态和B状态两种状态,状态之间的转换关系包括从A状态到B状态,从B状态到A状态,保持A状态不变和保持B状态不变四种状态。每种状态转换对应着一个事件。当对应着某种状态转换的事件被触发后,相应的状态转换即可被执行,即从场景交互过程的原状态转换到目的状态。
在实际应用中,事件名称是程序语言自带的,不能够自主进行命名,所以在不同的状态机里可能会出现同一个事件名称。单独根据事件名称不能唯一确定标识符,需要根据状态机名称和事件名称来唯一确定标识符。
S102,在预存的状态转换信息表中查找所述目标标识符对应的状态转换信息。
在实际应用中,确定了目标标识符之后,需要在状态转换信息表中查找目标标识符对应的状态转换信息。状态转换信息中存储着用来进行场景交互过程的具体数据。其中,目标标识符和状态转换信息以键值对的形式存储在服务器端的缓存中,目标标识符作为键值对的key(键),状态转换信息作为键值对的value(值)。通过key的查找,可以直接查找到key对应的value。且该键值对存储在缓存中。当触发了事件后,会根据触发的事件名称和状态机名称形成的key直接从缓存中查找对应的状态转换信息,找到了则根据状态转换信息直接进行场景交互的状态转换,提高了根据key查找状态转换信息的效率。
S103,根据所述状态转换信息进行场景交互过程的状态转换。
在实际应用中,根据目标标识符确定了状态转换信息之后,状态转换信息中存储着进行状态转换的具体数据,例如原状态、目的状态和要执行的接口名称。当事件被触发后,就会自动根据接口名称的实现类将场景交互过程的状态由原状态转换到目的状态。
通过上述方法,当有场景交互过程的状态转换时,只需要根据触发的状态机名称和事件名称确定标识符,再根据标识符确定标识符对应的状态转换信息,然后根据确定的状态转换信息直接进行状态转换即可,无需进行额外的判断,简化了程序开发的流程,提高了程序开发的效率,加快了场景的交互速度,给用户带来了良好的体验。
例如,在游戏的场景交互过程中,会涉及到状态的转换。如在一个场景交互过程中,涉及到A状态和B状态两种状态,状态之间的转换关系包括从A状态到B状态,从B状态到A状态,保持A状态不变和保持B状态不变四种状态。当需要进行状态转换时,在不采用状态机时,需要逐一根据状态进行判断,如当需要从A状态转换到B状态时,可能先需要判断现在是A状态还是B状态,在判断出A状态之后,还需要判断是从A状态转换到A状态,还是从A状态转换到B状态。判断完成之后,才能执行状态的转换。而这只是最简单的状态转换,随着场景交互过程的增多,状态之间的转换也会越来越多,使得程序开发的流程越来越复杂,且随着判断过程的增多,响应时间也会越来越长,用户在游戏过程中等待的时间也会越来越长,降低了用户的游戏体验。
基于图1的方法,本说明书实施例还提供了该方法的一些具体实施方式,下面进行说明。
图2为本申请实施例提供的生成状态转换信息表的流程示意图,具体可以包括:
S201,获取配置服务器配置的状态转换配置信息,所述状态转换配置信息包括状态机名称、事件名称和状态转换信息。
状态转换配置信息的获取有两种方式,一种是在服务器端本地直接获取状态转换配置信息,另一种是从远端服务器端获取状态转换配置信息。
在实际应用中,状态转换配置信息是从远端服务器获取的,采用该种方式,开发人员可以不受地理位置的限定,随时可以进行状态转换信息的配置。并且,一个远端服务器配置的状态转换配置信息可以供多个有获取状态转换配置信息权限的服务器端获取,不用开发人员多次进行配置,提高了开发效率。
S202,根据所述状态机名称和所述事件名称形成所述状态转换信息的第一标识符,并将所述第一标识符和所述状态转换信息存储为状态转换信息表。
在实际应用中,状态转换配置信息包括状态机名称、事件名称和状态转换信息。状态机名称、事件名称和状态转换信息以JSON对象的数组形式存储。且使用泛型进行类型限制。
JSON对象使用时在大括号中书写,可以包含多个key/value(键/值)对。key必须是字符串,value可以是合法的JSON数据类型(字符串,数字,对象,数组,布尔值或null),key和value中使用冒号分割,每个key/value对使用逗号分割。
在本说明书实施例中,状态转换配置信息的存储形式为{状态机名称:XXX,事件名称:XXX,状态转换信息:XXX}。
状态机名称和事件名称形成状态转换信息对应的第一标识符,且该第一标识符和状态转换信息在缓存中以键值对的形式存在。多个标识符和状态转换信息形成的键值对组成状态转换信息表。
图3为本申请实施例中根据状态转换信息进行场景交互过程的状态转换的具体实现方式的流程示意图。如图3所示,该流程具体可以包括:
S301,根据预存的接口实现类对应表确定接口名称对应的实现类。
所述接口名称是包含在所述状态转换信息中的。
所述状态转换信息具体可以包括原状态、目的状态和接口名称。
接口中定义的方法都没有方法体,实现类能将接口中的方法实现。例如,接口中定义了一个吃东西的方法,对于不同的对象,吃东西可以采用多种方式实现。例如,可以用筷子吃东西,可以用叉子吃东西或者可以用手来直接吃东西,这种实现方法叫做接口的实现类。且一个接口能够对应多个实现类。
S301,根据预存的接口实现类对应表确定所述接口名称对应的实现类。
在实际应用中,接口可能对应着若干实现类,通过接口名称能在预存的接口实现类对应表中查找到接口名称对应的实现类。例如,接口名称为Action,Action接口对应着多个实现类。具体可以为选中一个选项、继续下一轮操作、弹出对话框等多个实现类。Action接口与多个实现类的对应关系以键值对的形式存储在接口实现类对应表中。
S302,根据确定的所述接口名称对应的实现类将场景交互过程的状态由原状态转换到目的状态。
在实际应用中,根据确定的接口名称的实现类将进行场景交互过程的状态由原状态转换到目的状态,例如,可以根据确定的Action接口,将场景交互过程的状态由选项未选中状态转换到选项选中状态。可以根据确定的Action接口,将场景交互过程的状态由结束状态转换到下一轮开始状态。还可以根据确定的Action接口,将场景交互过程的状态由没有弹出对话框状态到弹出对话框状态。
在本说明书实施例中,在所述根据预存的接口实现类对应表确定所述接口名称对应的实现类之前,所述方法还可以包括:
获取配置服务器配置的接口名称对应的实现类,所述实现类包括接口的实现方法、接口名称和接口所属的状态机名称。
接口名称对应的实现类的获取有两种方式,一种是在服务器端本地直接获取状态转换配置信息,另一种是从远端服务器端获取状态转换配置信息。
在本说明书实施例中,接口名称对应的实现类是从远端服务器获取的,采用该种方式,开发人员可以不受地理位置的限定,随时可以进行状态转换信息的配置。并且,一个远端服务器配置的接口名称对应的实现类可以供多个有获取接口名称对应的实现类权限的服务器端获取,不用开发人员多次进行配置,提高了开发效率。
根据所述接口名称和所述状态机名称形成接口的实现方法的第二标识符,并将所述第二标识符和接口的实现方法存储到接口实现类对应表中。
在实际应用中,同一个接口可能应用在不同的状态机中,所以相同的接口名称可能对应着不同的实现类。因此采用接口名称和状态机名称两个元素形成接口实现方法的第二标识符。其中,第二标识符和接口实现方法以键值对的形式存储在服务器端的缓存中,第二标识符作为键值对的key(键),接口实现方法作为键值对的value(值)。通过key的查找,可以直接查找到key对应的value。且该键值对存储在缓存中。当触发了事件后,会根据触发的事件名称和状态机名称形成的key直接从缓存中查找对应的状态转换信息,找到了则根据状态转换信息中的接口名称和状态机名称形成第二标识符,利用第二标识符在缓存中查找第二标识符对应的接口实现方法并对接口注入依赖,然后再根据注入依赖的接口进行场景交互的状态转换。
在本说明书实施例中,所述获取配置服务器配置的状态转换配置信息之后,还包括:对于所述状态转换配置信息中的任意一条配置信息,判断所述任意一条配置信息中的状态机名称存在且事件名称存在且所述状态转换信息中的接口名称不重复,否则,生成状态转换配置信息错误的提示。
在实际应用中,在获取到配置服务器配置的状态转换配置信息之后,会校验状态转换配置信息中的内容是否正确。其中,事件名称是服务器端程序自带的,开发人员不能自己命名。在获取到状态转换配置信息之后,需要校验涉及到的事件名称是否属于服务器端程序原生的事件,若属于,则认为事件名称存在。状态机名称类似于事件名称,需要判断是否属于服务器端程序原生的状态机。一个接口名称可以对应着不同的实现类,但是在一个状态机中接口名称必须唯一,所以需要判断接口名称是否跟其他接口名称不重复。当上述条件均满足时,才能正常进行下边的操作。若有一项不符合,需要生成状态转换配置信息错误的提示,提示开发人员及时进行处理。
在本说明书实施例中,当在预存的状态转换信息表中查找不到所述目标标识符对应的状态转换信息时,生成错误目标标识符提示,提醒开发人员及时进行错误处理。
图4为本申请实施例提供的应用程序处理方法的剪刀石头布的应用示意图,具体可以包括:
将剪刀石头布的游戏过程抽象化,剪刀石头布游戏是由多个场景组成的,场景的交互称为过程,将每个过程定义为一个状态机(FSM,Finite State Machine),场景的交互过程涉及到状态的转换,场景的交互过程是由事件触发的。
图5为本申请实施例提供的应用程序处理方法的剪刀石头布游戏的开始界面示意图,当用户在客户端触发了开始按钮后,即触发了开始事件,场景的交互过程的状态将由未开始状态转换到开始状态,这个过程的状态机名称为开始状态机。
部署在服务器端的程序获取在客户端触发的开始事件(starevent)和开始状态机(starfsm),并根据开始事件和开始状态机生成一个以starfsm_starevent为标识符的key。然后在预先存储好的状态转换信息表中,查找以starfsm_starevent为key对应的value值,即状态转换信息。在本实施例中,状态转换信息中原状态为未开始状态,目的状态为开始状态,接口名称为action接口,action接口中有实现方法,实现方法为跳转到开始界面,即如图4所示的界面。具体的跳转实现过程通过action接口的实现类,即实现方法的具体结构体去进行跳转。最终实现了通过用户在客户端点击跳转按钮,触发了开始状态机里的开始事件,剪刀石头布游戏的交互过程的状态由未开始状态转换到了开始状态,即由图5所示的状态跳转到了图4所示的状态。
图6为本申请实施例提供的应用程序处理方法的剪刀石头布游戏的游戏结果界面示意图,当用户在客户端触发了出牌按钮后,即触发了出牌事件,场景的交互过程的状态将由待出牌状态转换到出结果状态,这个过程的状态机名称为出牌状态机。
部署在服务器端的程序获取在客户端触发的出牌事件(putevent)和出牌状态机(putfsm),并根据出牌事件和出牌状态机生成一个以putfsm_putevent为标识符的key。然后在预先存储好的状态转换信息表中,查找以putfsm_putevent为key对应的value值,即状态转换信息。在本实施例中,状态转换信息中原状态为待出牌状态,目的状态为出结果状态,接口名称为action接口,action接口中有实现方法,实现方法为根据用户触发的结果和部署在服务器端的程序随机产生的结果进行比较,得出最终结果,如图6所示的界面。例如,用户触发的结果为布,部署在服务器端的程序随机产生的结果为石头,则最终结果为用户胜。具体的跳转实现过程通过action接口的实现类,即实现方法的具体结构体去进行跳转。最终实现了通过用户在客户端点击出牌按钮,触发了出牌状态机里的出牌事件,剪刀石头布游戏的交互过程的状态由待出牌状态转换到出结果状态,即由图4所示的状态跳转到了图6所示的状态。
基于同样的思路,本说明书实施例还提供了上述方法对应的装置。
图7为本说明书实施例提供的对应于图1的一种程序处理装置的结构示意图。如图7所示,该装置可以包括:
标识符生成模块701,用于获取目标状态机名称和目标事件名称,并根据所述目标状态机名称和所述目标事件名称生成目标标识符。
信息查找模块702,用于在预存的状态转换信息表中查找所述目标标识符对应的状态转换信息。
状态转换模块703,用于根据所述状态转换信息进行场景交互过程的状态转换。
图7中的装置,当有场景交互过程的状态转换时,只需要根据触发的状态机名称和事件名称确定标识符,再根据标识符确定标识符对应的状态转换信息,然后根据确定的状态转换信息直接进行状态转换即可,无需进行额外的判断,简化了程序开发的流程,提高了程序开发的效率,加快了场景的交互速度,给用户带来了良好的体验。
在本说明书实施例中,所述装置还可以包括:
配置信息获取模块,用于获取配置服务器配置的状态转换配置信息,所述状态转换配置信息包括状态机名称、事件名称和状态转换信息;
第一标识生成模块,用于根据所述状态机名称和所述事件名称形成所述状态转换信息的第一标识符,并将所述第一标识符和所述状态转换信息存储为状态转换信息表。
在本说明书实施例中,所述状态转换信息具体包括原状态、目的状态和接口名称,所述状态转换模块具体可以包括:
实现类确定单元,用于根据预存的接口实现类对应表确定所述接口名称对应的实现类;
过程转换单元,用于根据确定的所述接口名称对应的实现类将场景交互过程的状态由原状态转换到目的状态。
在本说明书实施例中,所述装置还可以包括:
实现类获取单元,用于获取配置服务器配置的接口名称对应的实现类,所述实现类包括接口的实现方法、接口名称和接口所属的状态机名称;
第二标识生成单元,用于根据所述接口名称和所述状态机名称形成接口的实现方法的第二标识符,并将所述第二标识符和接口的实现方法存储到接口实现类对应表中。
在本说明书实施例中,所述装置还可以包括:
判断模块,用于在获取配置服务器配置的状态转换配置信息之后,执行对于所述状态转换配置信息中的任意一条配置信息,判断是否所述任意一条配置信息中的状态机名称存在且事件名称存在且所述状态转换信息中的接口名称不重复,否则,生成状态转换配置信息错误的提示的操作。
图8为本说明书实施例提供的对应于图1的一种程序处理设备的结构示意图。如图8所示,所述设备800可以包括:
至少一个处理器810;以及,
与所述至少一个处理器通信连接的存储器830;其中,
所述存储器830存储有可被所述至少一个处理器810执行的指令820,所述指令被所述至少一个处理器810执行,以使所述至少一个处理器810能够实现上述程序处理方法的实施例,具体功能实现请参见方法实施例中的说明,在此不再赘述。
基于同样的思路,本说明书实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有指令,所述指令被处理器执行时可实现上述软件程序处理方法。
另外,还存在另外的相同要素。本领域技术人员应明白,本申请的实施例可提供为方法、系统或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。以上所述仅为本申请的实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。
Claims (8)
1.一种程序处理方法,其特征在于,包括:
获取目标状态机名称和目标事件名称,并根据所述目标状态机名称和所述目标事件名称生成目标标识符;
在预存的状态转换信息表中查找所述目标标识符对应的状态转换信息;所述状态转换信息包括:原状态、目的状态和接口名称;
根据所述状态转换信息进行场景交互过程的状态转换,以将所述原状态转换为所述目的状态;
所述根据所述状态转换信息进行场景交互过程的状态转换具体包括:
根据预存的接口实现类对应表确定所述接口名称对应的实现类;
根据确定的所述接口名称对应的实现类将场景交互过程的状态由所述原状态转换到所述目的状态。
2.如权利要求1所述的方法,其特征在于,在所述在预存的状态转换信息表中查找所述目标关键字对应的状态转换信息之前,还包括:
获取配置服务器配置的状态转换配置信息,所述状态转换配置信息包括状态机名称、事件名称和状态转换信息;
根据所述状态机名称和所述事件名称形成所述状态转换信息的第一标识符,并将所述第一标识符和所述状态转换信息存储为状态转换信息表。
3.如权利要求1所述的方法,其特征在于,在所述根据预存的接口实现类对应表确定所述接口名称对应的实现类之前,所述方法还包括:
获取配置服务器配置的接口名称对应的实现类,所述实现类包括接口的实现方法、接口名称和接口所属的状态机名称;
根据所述接口名称和所述状态机名称形成接口的实现方法的第二标识符,并将所述第二标识符和接口的实现方法存储到接口实现类对应表中。
4.如权利要求2所述的方法,其特征在于,所述获取配置服务器配置的状态转换配置信息之后,还包括:
对于所述状态转换配置信息中的任意一条配置信息,判断是否所述任意一条配置信息中的状态机名称存在且事件名称存在且所述状态转换信息中的接口名称不重复,否则,生成状态转换配置信息错误的提示。
5.一种程序处理装置,其特征在于,包括:
标识符生成模块,用于获取目标状态机名称和目标事件名称,并根据所述目标状态机名称和所述目标事件名称生成目标标识符;
信息查找模块,用于在预存的状态转换信息表中查找所述目标标识符对应的状态转换信息;所述状态转换信息包括:原状态、目的状态和接口名称;
状态转换模块,用于根据所述状态转换信息进行场景交互过程的状态转换,以将所述原状态转换为所述目的状态;
所述状态转换模块具体包括:
实现类确定单元,用于根据预存的接口实现类对应表确定所述接口名称对应的实现类;
过程转换单元,用于根据确定的所述接口名称对应的实现类将场景交互过程的状态由所述原状态转换到所述目的状态。
6.如权利要求5所述的装置,其特征在于,还包括:
配置信息获取模块,用于获取配置服务器配置的状态转换配置信息,所述状态转换配置信息包括状态机名称、事件名称和状态转换信息;
第一标识生成模块,用于根据所述状态机名称和所述事件名称形成所述状态转换信息的第一标识符,并将所述第一标识符和所述状态转换信息存储为状态转换信息表。
7.一种程序处理设备,其特征在于,包括:
至少一个处理器;以及,
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,
所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行如权利要求1-4任意一项所述的程序处理方法。
8.一种计算机可读存储介质,所述计算机可读存储介质上存储有指令,其特征在于,所述指令被处理器执行时实现权利要求1-4任意一项所述的 方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811636800.7A CN109683897B (zh) | 2018-12-29 | 2018-12-29 | 程序处理方法、装置及设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811636800.7A CN109683897B (zh) | 2018-12-29 | 2018-12-29 | 程序处理方法、装置及设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109683897A CN109683897A (zh) | 2019-04-26 |
CN109683897B true CN109683897B (zh) | 2022-05-10 |
Family
ID=66191256
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811636800.7A Active CN109683897B (zh) | 2018-12-29 | 2018-12-29 | 程序处理方法、装置及设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109683897B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111638871A (zh) * | 2020-05-28 | 2020-09-08 | 深圳市元征科技股份有限公司 | 一种设备信息处理方法、装置、设备、介质 |
CN112307167A (zh) * | 2020-10-30 | 2021-02-02 | 广州华多网络科技有限公司 | 文本切句方法、装置、计算机设备和存储介质 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105868113A (zh) * | 2016-03-31 | 2016-08-17 | 广州华多网络科技有限公司 | 字符串查找方法及装置 |
CN106874259A (zh) * | 2017-02-23 | 2017-06-20 | 腾讯科技(深圳)有限公司 | 一种基于状态机的语义解析方法及装置、设备 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9448965B2 (en) * | 2013-03-15 | 2016-09-20 | Micron Technology, Inc. | Receiving data streams in parallel and providing a first portion of data to a first state machine engine and a second portion to a second state machine |
-
2018
- 2018-12-29 CN CN201811636800.7A patent/CN109683897B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105868113A (zh) * | 2016-03-31 | 2016-08-17 | 广州华多网络科技有限公司 | 字符串查找方法及装置 |
CN106874259A (zh) * | 2017-02-23 | 2017-06-20 | 腾讯科技(深圳)有限公司 | 一种基于状态机的语义解析方法及装置、设备 |
Also Published As
Publication number | Publication date |
---|---|
CN109683897A (zh) | 2019-04-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11123642B2 (en) | Method for implementing user matching and related device | |
CN111026932B (zh) | 人机对话交互方法、装置、电子设备和存储介质 | |
JP2019518257A (ja) | 状態制御方法及び装置 | |
CN112316442B (zh) | 一种直播互动方法、装置、计算机设备及存储介质 | |
CN110876850B (zh) | 一种手游编辑的方法及装置 | |
WO2017084283A1 (zh) | 一种移动游戏的数据处理方法以及装置 | |
CN109683897B (zh) | 程序处理方法、装置及设备 | |
CN109173270B (zh) | 一种游戏服务系统和实现方法 | |
US11123636B2 (en) | Runtime animation substitution | |
US20200023277A1 (en) | System and method for dynamic matchmaking in client applications | |
JP7031811B2 (ja) | 空間二元化を利用してスポーツゲームのプレイヤーキャラクタを育成する方法およびシステム | |
CN113614800B (zh) | 通过客户端的分割控制对等点-锦标赛客户端操作 | |
CN110772794B (zh) | 智能游戏处理方法、装置、设备及存储介质 | |
CN111870932B (zh) | 基于游戏的交互处理方法、装置及设备 | |
US20210098012A1 (en) | Voice Skill Recommendation Method, Apparatus, Device and Storage Medium | |
JP6776424B1 (ja) | 情報処理装置、情報処理方法及びプログラム | |
CN111957052A (zh) | 任务组队方法、装置、电子设备及存储介质 | |
CN109621424B (zh) | 一种可扩展的游戏构建方法、游戏运行方法和存储介质 | |
CN109858945A (zh) | 存储器、基于微信小程序的用户结果数据生成方法和设备 | |
CN109948062A (zh) | 一种目标匹配方法、装置、服务器、系统及存储介质 | |
CN109701275B (zh) | 基于网络游戏影子角色的操作交互方法及装置 | |
CN114428921A (zh) | 资源预加载方法和装置、存储介质及电子设备 | |
CN115068934A (zh) | 服务器分配方法、系统、装置、服务器及存储介质 | |
CN113171615A (zh) | 游戏技能的处理方法、装置、存储介质和电子装置 | |
Dehimi et al. | A new approach for coordinating generated agents’ plans dynamically |
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 |