gpt4 book ai didi

java - C/C++/Java设计问题: Keeping Track of Many Variables by Saving To File and Parsing Afterwards

转载 作者:太空宇宙 更新时间:2023-11-04 04:07:23 24 4
gpt4 key购买 nike

假设我有一个用 C/C++ 编写的游戏。为简单起见,我有:

struct masterStruct
{
Coords player1;
Weapon player1;
Gravity player1;
...
};

假设此结构包含 1000 个与玩家相关的变量。我希望能够使用所有这些变量在我的游戏的时间 t = 10s 创建玩家状态的“快照”。快照应保存在文件中。

现在,假设我的核心开发团队决定有必要向结构中添加第 1001 个变量。现在,我的游戏预计有 1000 个变量无法正确加载“快照”(因为最后一个变量)。

我的问题:我该如何解决这种困境?我是否应该使用版本号和快照文件与游戏加载器之间的握手来创建这些“快照”,以便只加载批准的版本文件?

-------------------- 旁注:我使用 Lua 作为脚本语言来解析所有这些非常好的数据。只是读取变量很痛苦。

谢谢

最佳答案

使用具有版本控制支持的良好序列化库。 Boost.Serialization对于这类事情来说是一个非常好的图书馆。

您应该特别感兴趣的是此功能(引用自文档):

Independent versioning for each class definition. That is, when a class definition changed, older files can still be imported to the new version of the class.

关于java - C/C++/Java设计问题: Keeping Track of Many Variables by Saving To File and Parsing Afterwards,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4110334/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com