System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 一种基于go语言游戏系统只读配置方法、系统和电子装置制造方法及图纸_技高网

一种基于go语言游戏系统只读配置方法、系统和电子装置制造方法及图纸

技术编号:41211959 阅读:3 留言:0更新日期:2024-05-09 23:35
本申请提供一种基于go语言游戏系统只读配置方法、系统和电子装置,其方法包括:S1:将go语言的模板数据渲染到表格配置文件中,生成只读的配置代码;S2:根据开发者的自定义的结构体,对原始表格数据进行处理,生成只读的自定义结构体。本申请能够实现表格配置的的只读,防止游戏运行中,配置不被更改。

【技术实现步骤摘要】

本申请涉及计算机,特别涉及一种基于go语言游戏系统只读配置方法、系统和电子装置


技术介绍

1、游戏产品是一个复杂的软件系统,在游戏软件系统中,除了涉及复杂的游戏逻辑和计算之外,有大量的功能模块是通过表格配置的方法来实现的,比如:

2、角色属性和技能:角色的基本属性(如生命值、攻击力、防御力等)以及技能的效果和消耗等可以通过表格配置来实现,可以方便地调整和平衡角色的属性和技能,而不需要修改代码。

3、物品系统:游戏中的各种物品(如武器、装备、消耗品等)的属性、效果、稀有度等可以通过表格配置来定义,可以方便地新增、修改和删除物品,而不需要修改代码。

4、关卡设计:游戏中的关卡设计、地图布局、敌人生成规则、任务目标等可以通过表格配置来实现。可以方便地设计和调整关卡内容,而不需要修改代码。

5、经济系统:游戏中的货币、商店商品、交易规则等可以通过表格配置来定义。可以方便地调整经济系统的参数,而不需要修改代码。

6、任务系统:游戏中的任务类型、任务目标、任务奖励等可以通过表格配置来定义。可以方便地设计和调整游戏中的任务内容,而不需要修改代码。

7、上述这些功能的开发量非常大,通过表格配置的方法可以提高游戏的可定制型和灵活性,减少硬编码和提高开发效率。

8、但上述这些配置表格的开发过程中,在很多情况下,需要考虑到数据的安全性,防止用户的恶意篡改,还需要确保配置数据的稳定性和一致性,因此实现服务器的配置只读功能,在游戏开发中具有重要意义。此外,有的程序语言如golang语言即go语言,由于golang语言原生不支持对于结构体常量修饰,无法对配置数据进行有效的保护,为游戏产品被恶意篡改留下隐患。


技术实现思路

1、为解决上述问题,本申请提供一种基于go语言游戏系统只读配置方法,包括:

2、s1:将go语言的模板数据渲染到表格配置文件中,生成只读的配置代码;

3、s2:根据开发者的自定义的结构体,对原始表格数据进行处理,生成只读的自定义结构体。

4、进一步地,步骤s1包括:

5、s11:使用go语言的模板文件与代码生成逻辑结合,根据不同的表格配置,将表格结构应用到模板文件中。

6、s12:生成只读的配置代码文件;

7、s13:对配置代码文件中的每个表格字段,生成对应的方法。

8、进一步地,s13中生成对应的方法的步骤包括:

9、s131:根据表格配置生成相应的结构体,将其中私有字段用于存储真实的配置数据,屏蔽外部访问;

10、s132:为每个表格结构提供生成只读视图方法,返回当前配置结构体的只读视图;

11、s133:为配置中的每个基础字段生成相应的读取方法,用于获取配置的相应属性;

12、s134:为配置中的切片、字典的复合结构生成相应的遍历方法、寻址方法、长度方法以及读取方法。

13、进一步地,步骤s131中,还包括对私有字段进行解析,具体为:

14、s1311:解析csv文件的表头信息,获取字段名称和数据类型,自动生成对应的结构体定义;

15、s1312:使用反射的方法获取容器内部类型的具体类型,设置容器内部类型为支持的类型;

16、s1313:根据csv文件的数据行,生成对应的结构体实例;

17、s1314:将生成的结构体实例保存到private字段中。

18、进一步地,步骤s2包括:

19、s21:根据开发者自定义的结构体,对原始表格数据进行组合;

20、s22:将所述自定义结构体替换go语言的原生容器,生成只读数据容器;

21、s23:创设代码静态检查工具,检查表格配置是否使用所述只读数据容器。

22、进一步地,步骤s22包括:

23、s221:分别对原生的字典、切片进行封装;

24、s222:对于存储基础数据类型,开发者直接使用自定义字典、自定义切片替换golang原生的字典、切片。

25、s223:对于自定义结构体类型,增加只读视图,返回外部可修改但是不影响自身数据的只读视图;

26、s224:对于存储自定义结构体类型的容器字典、切片,使用泛型只读视图来约束键值对的类型。

27、进一步地,步骤s23包括:

28、s231:开发静态代码分析器集成到golang vet工具集中;

29、s232:对表格配置以及自定义的结构的成员类型进行检测。

30、本申请还提供一种基于go语言游戏系统只读配置系统,包括表格配置代码生成单元以及自定义结构体生成单元,其中:

31、表格配置代码生成单元用以将go语言的模板数据渲染到表格配置文件中,生成只读的配置代码;

32、自定义结构体生成单元用以根据开发者的自定义的结构体,对原始表格数据进行处理,生成只读的自定义结构体。

33、本申请还提供一种计算机存储介质,所述计算机存储介质可存储有可执行程序,当所述可执行程序在计算机上运行时,所述计算机执行上述基于go语言游戏系统只读配置方法。

34、本申请还提供一种电子装置,所述电子装置包括处理器以及存储器,所述存储器用于存储可执行程序,所述处理器用于执行所述可执行程序以实现所述的基于go语言游戏系统只读配置方法。

35、为了对本申请有更清楚全面的了解,下面结合附图,对本申请的具体实施方式进行详细描述。

本文档来自技高网...

【技术保护点】

1.一种基于go语言游戏系统只读配置方法,其特征在于,包括:

2.如权利要求1中所述的基于go语言游戏系统只读配置方法,其特征在于,步骤S1包括:

3.如权利要求2中所述的基于go语言游戏系统只读配置方法,其特征在于,S13中生成对应的方法的步骤包括:

4.如权利要求1中所述的基于go语言游戏系统只读配置方法,其特征在于,步骤S131中,还包括对私有字段进行解析,具体为:

5.如权利要求1中所述的基于go语言游戏系统只读配置方法,其特征在于,步骤S2包括:

6.如权利要求5中所述的基于go语言游戏系统只读配置方法,其特征在于,步骤S22包括:

7.如权利要求1中所述的基于go语言游戏系统只读配置方法,其特征在于,步骤S23包括:

8.一种基于go语言游戏系统只读配置系统,其特征在于,包括表格配置代码生成单元以及自定义结构体生成单元,其中:

9.一种计算机存储介质,其特征在于,所述计算机存储介质可存储有可执行程序,当所述可执行程序在计算机上运行时,所述计算机执行上述权利要求1-7之任一实施例所述的基于go语言游戏系统只读配置方法。

10.一种电子装置,其特征在于,所述电子装置包括处理器以及存储器,所述存储器用于存储可执行程序,所述处理器用于执行所述可执行程序以实现权利要求1-8任一所述的基于go语言游戏系统只读配置方法。

...

【技术特征摘要】

1.一种基于go语言游戏系统只读配置方法,其特征在于,包括:

2.如权利要求1中所述的基于go语言游戏系统只读配置方法,其特征在于,步骤s1包括:

3.如权利要求2中所述的基于go语言游戏系统只读配置方法,其特征在于,s13中生成对应的方法的步骤包括:

4.如权利要求1中所述的基于go语言游戏系统只读配置方法,其特征在于,步骤s131中,还包括对私有字段进行解析,具体为:

5.如权利要求1中所述的基于go语言游戏系统只读配置方法,其特征在于,步骤s2包括:

6.如权利要求5中所述的基于go语言游戏系统只读配置方法,其特征在于,步骤s22包括:

...

【专利技术属性】
技术研发人员:张道双
申请(专利权)人:上海暖叠网络科技有限公司
类型:发明
国别省市:

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

1