关于C++游戏编程存读进度代码的问题

来源:百度知道 编辑:UC知道 时间:2024/05/17 09:20:00
用C++工具开发过游戏的人都可能有接触过,就是把当前的游戏状态存到电脑里,然后可以取出来再接着玩,那么,具体的C++存储和读取代码是怎么样的?

最好是RPG的,窗口类的.有鼠标点击和键盘方式的

//==============存取进度函数==================

void SaveIt(int Num)
{
char *FileName[]={"save\\1.sav","save\\2.sav","save\\3.sav","save\\4.sav","save\\5.sav"};
FILE *fp;
fp=fopen(FileName[Num],"wb");

fwrite(&Scene,4,1,fp);
fwrite(&SX,4,1,fp);
fwrite(&SY,4,1,fp);
fwrite(&old_SX,4,1,fp);
fwrite(&old_SY,4,1,fp);
fwrite(&DX,4,1,fp);
fwrite(&DY,4,1,fp);
fwrite(&old_DX,4,1,fp);
fwrite(&old_DY,4,1,fp);
fwrite(&Flag_OutCity,4,1,fp);
fwrite(&Flag_GotoPalace,4,1,fp);

fwrite(&Hero,sizeof(Role),1,fp);
for(int i=0; i<MAPS; i++)
{
fwrite(Map[i].Name,32,1,fp);
fwrite(&Map[i].Width,4,1,fp);
fwrite(&Map[i].Hight,4,1,fp);
fwrite(&Map[i].Ground,4,1,fp);
fwrite(Map[i].res,7,1,fp);
fwrite(Map[i].Data, Map[i].Width*Map[i].Hight*2, 1, fp