开发者

Save and load the game state to and from a binary file. C++

I was looking for a simple way to save and load my game state and have tried a few thing but cant get my head around it. here is what i got for saving...

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

and loading

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

Game is a class that controls the whole game and contains all the values that i would need to save. T main problem that i think i am running into is that Game contains 2 vectors and a pointer to another class but i do need to save the values in these to开发者_开发问答o. what is the best way to do so?


I'm pretty sure doing a straight fwrite of your class is going to not work on at least sixty-zillion separate levels. What you need to do is save the data for your X/Y/Z position, weapons collected, ammo, current map, events triggered and so on to a file, probably by building a long INI-style string using concatenation and fwrite-ing that.

Then when the game is loaded you parse the data back from the string and rebuild your class.


You could use some of the Boost Serialization functions.

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜