C++游戲開發(fā) Chapter 2 游戲存檔功能/數(shù)據(jù)結(jié)構(gòu)

持續(xù)更新中,詳情請參考TANXL_DATABASE VERSION_1_3 - 嗶哩嗶哩 (bilibili.com)

早在寫控制臺購物車程序的時候,我就嘗試想讓本地存儲物品的文件有序化、每次讀取文件時都能知道讀取的內(nèi)容屬于什么地方,奈何由于技術(shù)原因一直采用了分多文件的辦法,即每個文件只儲存特定的內(nèi)容。后來隨著技術(shù)的提升又改成了將信息有序的存儲到一個文件中。再后來,在閱讀一些書籍的時候,我發(fā)現(xiàn)了偽XML儲存數(shù)據(jù)的做法,正好與我之前的想法完美契合,并且在游戲存檔與數(shù)據(jù)方面有很大幫助,于是斷斷續(xù)續(xù)經(jīng)過了一個多月完成了如下作品。


TANXL_DATABASE.h? -Version 1.1

此數(shù)據(jù)集采用雙重鏈表構(gòu)成,一個外層的Id_Chain鏈表,一個內(nèi)層的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單例結(jié)構(gòu)用于編輯并保存或讀取一個數(shù)據(jù)單元。

TANXL_DATABASE.cpp??-Version 1.1
經(jīng)過一輪優(yōu)化之后,性能相較之前的版本有大幅度提升。數(shù)據(jù)集在大部分情況下能做到一倍以上的性能提升。(老版本的內(nèi)容在此因字數(shù)問題暫不提供)
------近期會更新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