CN104537240B - 一种确定游戏中属性的方法和装置 - Google Patents
一种确定游戏中属性的方法和装置 Download PDFInfo
- Publication number
- CN104537240B CN104537240B CN201410831764.5A CN201410831764A CN104537240B CN 104537240 B CN104537240 B CN 104537240B CN 201410831764 A CN201410831764 A CN 201410831764A CN 104537240 B CN104537240 B CN 104537240B
- Authority
- CN
- China
- Prior art keywords
- attribute
- calculation formula
- attributes
- formula
- dependence
- 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
Landscapes
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
- Pinball Game Machines (AREA)
Abstract
一种确定游戏中属性的方法,所述方法包括:在游戏中属性的表格中标记所述属性对应的属性计算公式,每个属性的属性计算公式都为同一个能由属性公式解析器解析的函数,每个属性不需要单独增加运算函数;分析所述属性计算公式,利用公式解析器解析属性计算公式,获得影响所述属性的其它属性和属性之间的依赖关系;根据其它属性和属性之间的依赖关系构建所述属性的属性树。应用本发明实施例后,能够迅速确定游戏中的属性,且保证属性的正确性。
Description
技术领域
本申请涉及计算机技术领域,更具体地,涉及一种确定游戏中属性的方法和装置。
背景技术
现在游戏中每个角色都会有非常多个属性,如看得见的属性:血量,魔法等,以及隐藏的属性:暴击概率等。随着游戏复杂度越来越高,使用的属性数量也越来越多,属性与属性之间存在着依赖关系,如力量会增加血量和防御,力量也会受到其它属性影响,这样就构成一个树形属性计算关系。
具体属性计算时,需要从最基础属性开始,按层次关系逐层依次算出属性的最终值,所以一般游戏系统中都存在一个属性树系统来实现此功能。
可以将所有属性都记录在一张表格中,每条属性都会标记影响自己的属性,游戏中根据表格内容构建出一棵属性树,并为每条属性在程序代码中书写对应计算公式,逐个绑定到对应属性上,每次使用属性前刷新该属性树,保证所有属性为最新状态。
游戏中属性计算公式与表格中标记的影响自身的属性是相互依赖的关系,如果两方没有相对应就可能造成属性计算不正确问题,因此在修改时双方必须同时修改。
然而当属性依赖关系比较复杂时非常容易出错,且程序代码中的计算公式需要重新发布。整个修改过程涉及程序,策划,需要与运营相关人员共同完成,修改过程复杂进而导致修改成本比较高。
发明内容
本发明实施例提出一种确定游戏中属性的方法,能够迅速确定游戏中的属性,且保证属性的正确性。
本发明实施例还提出一种确定游戏中属性的装置,能够迅速确定游戏中的属性,且保证属性的正确性。
本发明实施例的技术方案如下:
一种确定游戏中属性的方法,所述方法包括:
在游戏中属性的表格中标记所述属性对应的属性计算公式,每个属性的属性计算公式都为同一个能由属性公式解析器解析的函数,每个属性不需要单独增加运算函数;
分析所述属性计算公式,利用公式解析器解析属性计算公式,获得影响所述属性的其它属性和所述属性之间的依赖关系;
根据其它属性和所述属性之间的依赖关系构建所述属性的属性树。
所述属性计算公式包括影响所述属性的其它属性和其它属性对应的修正值。
所述分析所述属性计算公式获得影响所述属性的其它属性和属性之间的依赖关系包括:
属性公式解析器依据所述属性的其它属性和所述修正值,分析所述属性计算公式获得影响所述属性的其它属性和所述属性之间的依赖关系。
所述方法进一步包括:服务器使用GM命令更新属性树。
一种确定游戏中属性的装置,所述装置包括:
计算模块,用于在游戏中属性的表格中标记所述属性对应的属性计算公式,每个属性的属性计算公式都为同一个能由属性公式解析器解析的函数,每个属性不需要单独增加运算函数;
分析模块,用于分析所述属性计算公式,利用公式解析器解析属性计算公式,获得影响所述属性的其它属性和所述属性之间的依赖关系;
构建模块,用于根据其它属性和所述属性之间的依赖关系构建所述属性的属性树。
所述属性计算公式包括影响所述属性的其它属性和其它属性对应的修正值。
所述分析模块进一步用于,利用属性公式解析器依据所述属性的其它属性和所述修正值,分析所述属性计算公式获得影响所述属性的其它属性和所述属性之间的依赖关系。
所述构建模块进一步用于,向服务器发送更新属性树的消息;服务器使用GM命令更新属性树。
从上述技术方案中可以看出,在本发明实施例中在游戏中属性的表格中标记所述属性对应的属性计算公式,每个属性的属性计算公式都为同一个能由属性公式解析器解析的函数,每个属性不需要单独增加运算函数;分析所述属性计算公式,利用公式解析器解析属性计算公式,获得影响所述属性的其它属性和属性之间的依赖关系;根据其它属性和属性之间的依赖关系构建所述属性的属性树。由于可以根据属性树迅速确定游戏中的属性,从而保证了属性的正确性。
附图说明
图1为确定游戏中属性的方法流程示意图;
图2为属性计算公式的示意图;
图3为属性关系示意图;
图4为确定游戏中属性的装置结构示意图。
具体实施方式
为使本发明的目的、技术方案和优点表达得更加清楚明白,下面结合附图及具体实施例对本发明再作进一步详细的说明。
在本发明实施例中,首先标记属性对应的属性计算公式;分析所述属性计算公式从而获得影响所述属性的其它属性和属性之间的依赖关系;进而构建该属性的属性树。由于可以根据属性树迅速确定游戏中的属性,从而保证了属性的正确性。
参见附图1是确定游戏中属性的方法流程示意图,具体包括以下步骤:
101、在游戏中属性的表格中标记所述属性对应的属性计算公式,每个属性的属性计算公式都为同一个能由属性公式解析器解析的函数,每个属性不需要单独增加运算函数。
在游戏中属性的表格中不再标记影响自身的数据,而是该属性对应的属性计算公式。通过属性计算公式可以获知影响该属性的其它属性,此外还可以量化其它属性对该属性的影响。即属性计算公式包括影响所述属性的其它属性和其它属性对应的修正值。
参见附图2是属性计算公式的示意图,其中包括多个属性计算公式,例如:速度计算公式、体魄计算公式、静脉计算公式、力量计算公式等。其中,速度计算公式的ID是1,受两个属性的影响,预先设置每个属性的影响值。而属性计算公式具体的数学计算公式需要技术人员依据实际情况来确定。其它属性对应的修正值由系统设定。
102、分析属性计算公式,利用公式解析器解析属性计算公式,获得影响该属性的其它属性和属性之间的依赖关系。
在实际应用过程中,利用属性公式解析器分析属性计算公式,即属性表格加载后由属性公式解析器解析成对应的执行编码,解析过程中同时获得属性之间的依赖关系。
具体来说,属性公式解析器拆解附图2中的速度公式:
(atb[15]+modifier[31])*(1+modifier_pct[41]),公式分为4个基本元素,
(1)atb代表属性,[]内数字代表属性id。
(2)modifier代表属性修正值,[]内数字代表修正值id。
(3)1代表数字修正值。
(4)+,-,*,/,(),分别为计算符号。
每个属性的属性计算公式都为同一个能由属性公式解析器解析的函数,因此不再需要为每个属性单独增加运算函数。只要将自身的属性计算公式交给属性公式解析器就可以获知属性之间的依赖关系。
103、根据其它属性和属性之间的依赖关系构建所述属性的属性树。
参见附图3,速度受属性敏捷和两个修正值的影响。敏捷受精力值和身法影响。身法和精力值可能会受其他属性影响,依次类推,属性公式解析器构建出属性影响关系的属性树。
属性公式解析器,将附图2中的属性计算公式转换为属性公式解析器执行代码。当一个属性或修正值变化以后,它会通知被自己影响的属性,进而由属性计算公式计算出本属性的更新值,并通知被自身影响的其它属性,依次类推,直到更新整个属性树所有数据。
另外,可以在完全不修改程序的情况下获知属性之间的依赖关系。服务器可以使用GM命令可以替换掉老的属性树及属性计算公式,无需关闭服务器,实现服务器的热加载功能。
参见附图4是确定游戏中属性的装置,包括计算模块401、分析模块402和构建模块403。
计算模块401,用于在游戏中属性的表格中标记所述属性对应的属性计算公式,每个属性的属性计算公式都为同一个能由属性公式解析器解析的函数,每个属性不需要单独增加运算函数;
分析模块402,用于分析所述属性计算公式,利用公式解析器解析属性计算公式,获得影响所述属性的其它属性和属性之间的依赖关系;
构建模块403,用于根据其它属性和属性之间的依赖关系构建所述属性的属性树。
其中,属性计算公式包括影响所述属性的其它属性和其它属性对应的修正值。在实际应用过程中,通过分析模块401利用属性公式解析器分析属性计算公式,即属性表格加载后由属性公式解析器解析成对应的执行编码,解析过程中同时获得属性之间的依赖关系。
构建模块403还可以向服务器发送更新属性树的消息;服务器就可以使用GM命令更新属性树。无需关闭服务器,实现服务器的热加载功能。
以上所述,仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (8)
1.一种确定游戏中属性的方法,其特征在于,所述方法包括:
在游戏中属性的表格中标记所述属性对应的属性计算公式,每个属性的属性计算公式都为同一个能由属性公式解析器解析的函数,每个属性不需要单独增加运算函数;
分析所述属性计算公式,利用属性公式解析器解析属性计算公式,获得影响所述属性的其它属性和所述属性之间的依赖关系;属性公式解析器将属性计算公式转换为属性公式解析器执行代码;
根据其它属性和所述属性之间的依赖关系构建所述属性的属性树。
2.根据权利要求1所述确定游戏中属性的方法,其特征在于,所述属性计算公式包括影响所述属性的其它属性和其它属性对应的修正值。
3.根据权利要求2所述确定游戏中属性的方法,其特征在于,所述分析所述属性计算公式获得影响所述属性的其它属性和属性之间的依赖关系包括:
属性公式解析器依据所述属性的其它属性和所述修正值,分析所述属性计算公式获得影响所述属性的其它属性和所述属性之间的依赖关系。
4.根据权利要求1所述确定游戏中属性的方法,其特征在于,所述方法进一步包括:服务器使用GM命令更新属性树。
5.一种确定游戏中属性的装置,其特征在于,所述装置包括:
计算模块,用于在游戏中属性的表格中标记所述属性对应的属性计算公式,每个属性的属性计算公式都为同一个能由属性公式解析器解析的函数,每个属性不需要单独增加运算函数;
分析模块,用于分析所述属性计算公式,利用属性公式解析器解析属性计算公式,获得影响所述属性的其它属性和所述属性之间的依赖关系;属性公式解析器将属性计算公式转换为属性公式解析器执行代码;
构建模块,用于根据其它属性和所述属性之间的依赖关系构建所述属性的属性树。
6.根据权利要求5所述确定游戏中属性的装置,其特征在于,所述属性计算公式包括影响所述属性的其它属性和其它属性对应的修正值。
7.根据权利要求6所述确定游戏中属性的装置,其特征在于,所述分析模块进一步用于,利用属性公式解析器依据所述属性的其它属性和所述修正值,分析所述属性计算公式获得影响所述属性的其它属性和所述属性之间的依赖关系。
8.根据权利要求5所述确定游戏中属性的装置,其特征在于,所述构建模块进一步用于,向服务器发送更新属性树的消息;服务器使用GM命令更新属性树。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410831764.5A CN104537240B (zh) | 2014-12-26 | 2014-12-26 | 一种确定游戏中属性的方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410831764.5A CN104537240B (zh) | 2014-12-26 | 2014-12-26 | 一种确定游戏中属性的方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104537240A CN104537240A (zh) | 2015-04-22 |
CN104537240B true CN104537240B (zh) | 2019-01-01 |
Family
ID=52852766
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410831764.5A Active CN104537240B (zh) | 2014-12-26 | 2014-12-26 | 一种确定游戏中属性的方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104537240B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110237535A (zh) * | 2019-06-03 | 2019-09-17 | 北京金山安全软件有限公司 | 一种游戏数据校验方法、装置、电子设备及存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1916894A (zh) * | 2004-04-29 | 2007-02-21 | 微软公司 | 元数据编辑控制 |
CN101124574A (zh) * | 2004-04-30 | 2008-02-13 | 微软公司 | 元数据导航和分配的属性树 |
CN103106340A (zh) * | 2013-01-21 | 2013-05-15 | 天津大学 | 基于数据挖掘和数据融合的游戏关卡自动生成系统及方法 |
CN104079566A (zh) * | 2014-06-20 | 2014-10-01 | 用友软件股份有限公司 | 终端、服务器和页面中结果属性值的计算方法 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101763339A (zh) * | 2009-12-21 | 2010-06-30 | 金蝶软件(中国)有限公司 | 一种业务单据转换的方法、装置及系统 |
CN102508990B (zh) * | 2011-09-28 | 2016-01-06 | 北京像素软件科技股份有限公司 | 一种网络游戏的数据更新方法 |
-
2014
- 2014-12-26 CN CN201410831764.5A patent/CN104537240B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1916894A (zh) * | 2004-04-29 | 2007-02-21 | 微软公司 | 元数据编辑控制 |
CN101124574A (zh) * | 2004-04-30 | 2008-02-13 | 微软公司 | 元数据导航和分配的属性树 |
CN103106340A (zh) * | 2013-01-21 | 2013-05-15 | 天津大学 | 基于数据挖掘和数据融合的游戏关卡自动生成系统及方法 |
CN104079566A (zh) * | 2014-06-20 | 2014-10-01 | 用友软件股份有限公司 | 终端、服务器和页面中结果属性值的计算方法 |
Also Published As
Publication number | Publication date |
---|---|
CN104537240A (zh) | 2015-04-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106796585B (zh) | 条件验证规则 | |
KR102025968B1 (ko) | 구문 기반 사전 추출 및 번역 품질 평가 기법 | |
CN106716398B (zh) | 可视地区分用于测试的字符串 | |
US10832012B2 (en) | Method executed in translation system and including generation of translated text and generation of parallel translation data | |
CN106502896B (zh) | 一种函数测试代码的生成方法及装置 | |
Cruz-Filipe et al. | Efficient certified resolution proof checking | |
US10248537B2 (en) | Translation bug prediction classifier | |
CN106990967B (zh) | 规则引擎的数据处理方法 | |
US10540416B2 (en) | Linking source code to running element | |
US9304893B1 (en) | Integrated software development and test case management system | |
CN107291476A (zh) | Canvas代码生成方法、装置、电子设备及存储介质 | |
CN106777292A (zh) | 一种数据序列化方法及装置 | |
CN109858042B (zh) | 一种翻译质量的确定方法及装置 | |
EP3443460B1 (en) | Method, apparatus, and computer-readable medium for performing functional testing of software | |
US10823782B2 (en) | Ensuring completeness of interface signal checking in functional verification | |
CN104750663B (zh) | 页面中文本乱码的识别方法及装置 | |
CN107895013A (zh) | 数据质量规则控制方法及装置、存储介质、电子设备 | |
CN104516870B (zh) | 一种译文检查方法及其系统 | |
CN110909168A (zh) | 知识图谱的更新方法和装置、存储介质及电子装置 | |
CN102141959B (zh) | 一种受上下文无关文法约束的测试用例生成方法 | |
CN117194258A (zh) | 一种代码大模型的评测方法和装置 | |
US20090204889A1 (en) | Adaptive sampling of web pages for extraction | |
CN104537240B (zh) | 一种确定游戏中属性的方法和装置 | |
CN108052501A (zh) | 一种基于人工智能的实体关系对识别方法及系统 | |
CN108009157B (zh) | 一种语句归类方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |