欢迎光临散文网 会员登陆 & 注册

C++游戏开发 Chapter 2 游戏存档功能/数据结构

2022-01-20 01:09 作者:NormanGrimes  | 我要投稿

持续更新中,详情请参考TANXL_DATABASE VERSION_1_3 - 哔哩哔哩 (bilibili.com)

早在写控制台购物车程序的时候,我就尝试想让本地存储物品的文件有序化、每次读取文件时都能知道读取的内容属于什么地方,奈何由于技术原因一直采用了分多文件的办法,即每个文件只储存特定的内容。后来随着技术的提升又改成了将信息有序的存储到一个文件中。再后来,在阅读一些书籍的时候,我发现了伪XML储存数据的做法,正好与我之前的想法完美契合,并且在游戏存档与数据方面有很大帮助,于是断断续续经过了一个多月完成了如下作品。

新旧版本对比

TANXL_DATABASE.h  -Version 1.1

CODE


此数据集采用双重链表构成,一个外层的Id_Chain链表,一个内层的Data_Chain链表。Id_Chain对Data_Chain可以是一对多的,即一个Id_Chain可以包含多个Data_Chain,每个Id_Chain包含两个指针,一个用于指向当前Id_Chain的下一个Id_Chain,一个用于指向当前Id_Chain的第一个Data_Chain,而Data_Chain只包含一个指针,用于指向当前Data_Chain的下一个Data_Chain。此外包含一个Item单例结构用于编辑并保存或读取一个数据单元。

ID对DATA可以是一对多的


TANXL_DATABASE.cpp  -Version 1.1

经过一轮优化之后,性能相较之前的版本有大幅度提升。数据集在大部分情况下能做到一倍以上的性能提升。(老版本的内容在此因字数问题暂不提供)

------近期会更新1.2版本 2022/1/20 1:04 (补全删除功能)

TANXL_DATABASE.h  -Version 1.2

TANXL_DATABASE.cpp  -Version 1.2


WILD_CHICKEN_PROGRAMING 2021/1/21 01:26



C++游戏开发 Chapter 2 游戏存档功能/数据结构的评论 (共 条)

分享到微博请遵守国家法律