一种表数据的通用导表系统和方法技术方案

技术编号:14342354 阅读:58 留言:0更新日期:2017-01-04 14:09
本发明专利技术包括一种表数据的通用导表系统,该系统包括:表规则模块,创建包文本表,创建文本表对应的数据表;表生成模块,获取创建的文本表,将文本表解析为程序语言可识别的文件;表管理模块,用于将请求数据生成为程序语言可读取的规则数据。本发明专利技术包括一种表数据的通用导表方法,该方法包括:创建包文本表,创建文本表对应的数据表;获取创建的文本表,将文本表解析为程序语言可识别的文件;将请求数据生成为程序语言可读取的规则数据。本发明专利技术的有益效果为:灵活的导表框架,方便扩展,提高程序的运行效率;提前检查错误表数据、减少运行时数据出错;灵活主功能配置,提高使用者能动性,减少程序的工作量,提高游戏开发的工作的效率。

【技术实现步骤摘要】

本专利技术涉及一种表数据的通用导表系统和方法,属于计算机游戏领域。
技术介绍
游戏配置数据,在游戏中有着非常重要的作用和意义。在游戏开发中,策划和程序将尽可能使用配置数据去控制游戏的表现、数值。如:大量的界面图标、界面设计、音效、特效、技能、怪物资源、怪物数据、各类的Buffer(增益效果)、各类的系统和活动等,设计时会将相关的数据填到配置文件,然后程序按指定的格式读取。以达到策划要修改设计时,修改即可以控件游戏的相应功能。传统的设计虽然具备了“尽量将功能使用配置来实现”,不过,其设计仍然存在很多不足,影响开发的效率以及程序运行时的健壮性。目前有很多游戏开发还是使用最原始的“.txt”或“.ini”作为配置文件,有一些工作室已经使用脚本语言作为配置文件,如“.lua”,“.py”等。现有技术的做法分别包括以下2个方案,具体如(1)-(2)所示,包括:(1)直接填写“.txt”文件,列之间使用“Tab”键分隔开来。如图:红圈的地方使用“Tab”键隔开,程序员再针对这个文件,编写程序读取与处理这个文件的数据,供游戏运行时使用。(2)填写“Excel”表,然后,使用“VBA”或“python”语言将Excel的数据导出成为“.lua”的配置文件,具程序运行时读取与使用。这两种做法都存在一些不足。首先:第1种设计存在的问题如下a1-a5所示,包括:a1.没法记录批注。比如,有些提示只是供策划打开时看,备忘使用,不需要导出。使用了“.txt”记录对处理这个问题不太方便;a2.由于数据格式不统一,如哪列是int、string、list没有提前标识,无法统一读表程序。这就导致每增加一个配置文件需要写一个导表程序,浪费人力与物力;a3.有些程序处理需要UTF-8的格式,而有些不需要。人为编辑,则需要人为地去保证文件编码的正确性。笔者曾经的工作也曾因修改“.txt”内容而忘记保存成utf-8的格式,导致游戏做完包后才发,需要修改重做。这样浪费大量的人力与物力,影响开发的心情;a4.由于数据格式不统一,每个程序写的导表程序的处理方式不同,增加维护难度以及策划填错的概率。如有位同事,写死了第9列数据之前是处理等级的。结果有一些策划将列的先后顺序调整了一下,把相关的列放在一起,调整了前面9列的数据,结果运行时程序出错。处理这个问题时,策划与程序又浪费大量没有意义的时间讨论处理修改;a5.当配置的数据结构发生更改,不可避免地要去修改处理读取该文件的程序。对于第2种设计,其解决了数据格式的统一的问题,同时,只需要维护导表程序,即可以解决第1种设计存在问题。但在使用中仍然有如下b1-b3的不足,包括:b1.当表与表之间的数据存在关系时:如我们需要物品的数据表D,而表D的数据来源于:表A、表B、表C。这种就需要在使用表D时,动态读取表A、B、C合成数据表D。在游戏程序中处理,当表很大、数据很多时,会有一些效率问题。同时,当出现数据不一致时,即A表有1001物品,结果B表没有填1001物品的数据,导致运行时报错;b2.导表程序是一个统一格式的导表程序,当导表的数据结构发生变化时,导致需要去改游戏里的程序,如,原来是(1,1,1,1)变化成:(1,1,1,1,1),当4个元素的列表,变成5个时,需要改程序处理;b3.表里导出的都是静态数据,当我们想在导表时就添加一些数据预处理,以及导出“可运算”的函数时,表里不方便扩展这个功能。
技术实现思路
针对现有技术所配置文件的缺陷,以及导表程序设计的不足,本文提出一套新的导表流程,规范和统一表的填写格式。本专利技术的技术方案包括一种表数据的通用导表系统,其特征在于,该系统包括:表规则模块,用于创建包括基础表规则及自定义表规则对应数据结构的文本表,以及,与文本表对应的数据表,还用于对文本表的列规则进行自定义扩展;表生成模块,用于获取所述表规则模块创建的文本表,将文本表解析并生成为程序语言可识别的文件;表管理模块,用于获取程序语言调取文本表数据的请求指令,调取文本表信息,同时调取文本表对应的数据表数据,根据指令信息、文本表信息及对应的数据表数据将得到请求数据,进而将请求数据生成为程序语言可读取的规则数据。根据所述的表数据的通用导表系统,所述的表规则模块还包括:基本子模块,用于在基于数据库基本存储规则的数据结构上,创建文本表;自定义子模块,用于对所述基本子模块创建的文本表添加符合程序语言要求的数据结构类型;列规则模块,用于为所述基本子模块和自定义模块创建的文本表的每列添加对应的列规则,列规则是以每列的数据类型与预设名称进行组合,其中每列数据类型与预设名称使用分隔符进行分开;扩展接口子模块,用于进一步在文本表中添加对程序语言进行逻辑运算的处理,包括在文本表中自定义添加调用预设的接口库的规则描述。根据所述的表数据的通用导表系统,所述的表生成模块还包括:转化子模块,用于获取所述表规则模块创建的文本表,对文本表创建对应的数据进行解析,获取文本表数据,并将文本表数据转化为程序语言识别并读取的文件,且该文件为文本表名命名,且其文件格式为文本表格式与程序语言识别的格式的组合;表生成子模块,用于对所述转化的文本表文件使用导表器进行生成,具体包括,获取对应文本表文件的数据,进一步,该导表器还根据预设配置输出文件路径、文件名及表列的调整。在一个优选的实施方案中,所述的表生成子模块还包括:检查子模块,在每次导表过程中,对文本表文件使用可交互界面将文本表文件数据进行展示并检查,包括对文本表文件的自定义的数据结构及扩展的调用接口库的规则描述进行检查,如不符合要求,则在界面进行明显标注;高导子模块,在对文本表文件进行导表时,如果文本表文件为常用格式,则使用常用导表器进行生产,如果是非常用文本表文件,则使用高导表对非常用文本表文件的导表过程进行自定义编辑。本专利技术的技术方案还包括一种表数据的通用导表系统,该方法包括:创建包括基础表规则及自定义表规则对应数据结构的文本表,以及,与文本表对应的数据表,还对文本表的列规则进行自定义扩展;获取所述表规则模块创建的文本表,将文本表解析并生成为程序语言可识别的文件;获取程序语言调取文本表数据的请求指令,调取文本表信息,同时调取文本表对应的数据表数据,根据指令信息、文本表信息及对应的数据表数据将得到请求数据,进而将请求数据生成为程序语言可读取的规则数据。进一步,该方法还包括:基于数据库基本存储规则的数据结构上,创建文本表;对所述基本子模块创建的文本表添加符合程序语言要求的数据结构类型;为所述基本子模块和自定义模块创建的文本表的每列添加对应的列规则,列规则是以每列的数据类型与预设名称进行组合,其中每列数据类型与预设名称使用分隔符进行分开;进一步在文本表中添加对程序语言进行逻辑运算的处理,包括在文本表中自定义添加调用预设的接口库的规则描述。进一步,该方法还包括:获取所述表规则模块创建的文本表,对文本表创建对应的数据进行解析,获取文本表数据,并将文本表数据转化为程序语言识别并读取的文件,且该文件为文本表名命名,且其文件格式为文本表格式与程序语言识别的格式的组合;对所述转化的文本表文件使用导表器进行生成,具体包括,获取对应文本表文件的数据,进一步,该导表器还根据预设配置输出文件路径、文件名及表列的调整本文档来自技高网
...
一种表数据的通用导表系统和方法

【技术保护点】
一种表数据的通用导表系统,其特征在于,该系统包括:表规则模块,用于创建包括基础表规则及自定义表规则对应数据结构的文本表,以及,与文本表对应的数据表,还用于对文本表的列规则进行自定义扩展;表生成模块,用于获取所述表规则模块创建的文本表,将文本表解析并生成为程序语言可识别的文件;表管理模块,用于获取程序语言调取文本表数据的请求指令,调取文本表信息,同时调取文本表对应的数据表数据,根据指令信息、文本表信息及对应的数据表数据将得到请求数据,进而将请求数据生成为程序语言可读取的规则数据。

【技术特征摘要】
1.一种表数据的通用导表系统,其特征在于,该系统包括:表规则模块,用于创建包括基础表规则及自定义表规则对应数据结构的文本表,以及,与文本表对应的数据表,还用于对文本表的列规则进行自定义扩展;表生成模块,用于获取所述表规则模块创建的文本表,将文本表解析并生成为程序语言可识别的文件;表管理模块,用于获取程序语言调取文本表数据的请求指令,调取文本表信息,同时调取文本表对应的数据表数据,根据指令信息、文本表信息及对应的数据表数据将得到请求数据,进而将请求数据生成为程序语言可读取的规则数据。2.根据权利要求1所述的表数据的通用导表系统,其特征在于,所述的表规则模块还包括:基本子模块,用于在基于数据库基本存储规则的数据结构上,创建文本表;自定义子模块,用于对所述基本子模块创建的文本表添加符合程序语言要求的数据结构类型;列规则模块,用于为所述基本子模块和自定义模块创建的文本表的每列添加对应的列规则,列规则是以每列的数据类型与预设名称进行组合,其中每列数据类型与预设名称使用分隔符进行分开;扩展接口子模块,用于进一步在文本表中添加对程序语言进行逻辑运算的处理,包括在文本表中自定义添加调用预设的接口库的规则描述。3.根据权利要求1所述的表数据的通用导表系统,其特征在于,所述的表生成模块还包括:转化子模块,用于获取所述表规则模块创建的文本表,对文本表创建对应的数据进行解析,获取文本表数据,并将文本表数据转化为程序语言识别并读取的文件,且该文件为文本表名命名,且其文件格式为文本表格式与程序语言识别的格式的组合;表生成子模块,用于对所述转化的文本表文件使用导表器进行生成,具体包括,获取对应文本表文件的数据,进一步,该导表器还根据预设配置输出文件路径、文件名及表列的调整。4.根据权利要求3所述的表数据的通用导表系统,其特征在于,所述的表生成子模块还包括:检查子模块,在每次导表过程中,对文本表文件使用可交互界面将文本表文件数据进行展示并检查,包括对文本表文件的自定义的数据结构及扩展的调用接口库的规则描述进行检查,如不符合要求,则在界面进行明显标注;高导子模块,在对文本表文件进行导表时,如果文本表文件为...

【专利技术属性】
技术研发人员:陈汉辉李茂卢歆翮吴海权陈镇秋刘铃
申请(专利权)人:珠海金山网络游戏科技有限公司成都西山居互动娱乐科技有限公司
类型:发明
国别省市:广东;44

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1