2011-04-17 58 views
1

我正在尋找一種簡單的方式來保存和加載我的遊戲狀態,並嘗試了一些東西,但無法讓我的頭靠近它。以下是我得到了節省...將遊戲狀態保存並加載到二進制文件中或從中加載。 C++

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); 
} 

遊戲是控制整場比賽裏有許多我需要保存的所有值的一類。 T我認爲我遇到的主要問題是遊戲包含2個向量和一個指向另一個類的指針,但我確實需要保存這些值。最好的辦法是什麼?

回答

3

我很確定你的班級的直接寫法不會在至少60億個單獨的級別上工作。你需要做的是將你的X/Y/Z位置,武器收集,彈藥,當前地圖,事件觸發等等的數據保存到一個文件中,可能通過使用連接和寫入來構建一個長的INI風格的字符串那。

然後當遊戲被加載時,你從字符串中解析數據並重建你的類。