gpt4 book ai didi

c++ - 在二进制文件中保存和加载游戏状态。 C++

转载 作者:行者123 更新时间:2023-11-30 00:58:43 25 4
gpt4 key购买 nike

我一直在寻找一种简单的方法来保存和加载我的游戏状态,并且尝试了一些方法但无法理解它。这是我保存的东西......

FILE *file2 = fopen("Save.bin", "w");
if ( file2 != 0){
fwrite((Game*)game, sizeof(Game), 1, file2);
}

和加载

FILE *file = fopen("Save.bin", "r");
if ( file != 0){
fread(game, sizeof(Game), 1, file);
}

Game 是一个控制整个游戏并包含我需要保存的所有值的类。我认为我遇到的主要问题是 Game 包含 2 个 vector 和一个指向另一个类的指针,但我也确实需要在其中保存值。最好的方法是什么?

最佳答案

我很确定直接 fwrite 你的类至少不会在 60 亿个不同的级别上工作。你需要做的是将你的 X/Y/Z 位置、收集的武器、弹药、当前 map 、触发的事件等数据保存到一个文件中,可能是通过使用连接和 fwrite-ing 构建一个长 INI 样式的字符串那个。

然后当游戏加载时,您从字符串中解析数据并重建您的类。

关于c++ - 在二进制文件中保存和加载游戏状态。 C++,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5697318/

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