如何保存游戏进度(savefile)

我目前正在研究terminal文字游戏,以练习我的技能(C)。 这将是故事驱使逃避豪宅的那种游戏。 即使游戏将会很短,我希望它支持保存文件。

由于我是新手游戏编程,我不知道如何处理保存文件。 游戏会很短,玩家将能够find很多物品。 我正在考虑将结构保存到.txt文件中,或者将大量的1和0保存到txt文件中。 每行代表每个项目或进度。

有没有更好的方法或常见的方法如何做到这一点?

保存通常不需要可读性,所以最好把它们保存为二进制格式。 如果对象交互,你应该保存所有非计算字段文件,因为我想你有多个位置。 所以每个地点和英雄节省都会有保存(库存,活动任务)。 有很多相关的问题。 相关话题

从我的小经验来看,拯救游戏的最好方法之一就是使用XML。 你可以看到发生了什么,你可以改变保存文件,甚至可以准备然后用于地图编辑器。 最后,最后,你可以随时把它放在二进制的forms。

fprintf( fd, "format", ...); /*save*/ fscanf( fd, "format", ...); /*load*/ 

其中…表示variables,“格式”描述如何格式化。