最近学图形学经常用EasyX图形库去实现一些图形学算法,因为这个函数库使用方便,简化了很多配置,我也用它来做了一些小游戏,怎么储存上一次用户运行的信息就很关键,这里的实现也仅仅就是简单的文件读写操作,但是文件不仅仅可以实现游戏的读档和存档,还可以用来处理用户账户、登录信息、玩家统计、地图信息、关卡设计、游戏配置等持久化数据。
很多时候我们按下“ESC”就会让游戏暂停,这时如果我们不想玩了,可以选择存档,来保存上一次的关键信息;在下一次运行时我们也可以读档来恢复上一次的进度,这在游戏中很关键。
我们可以在游戏中的启动、暂停、结束等位置调用下面的读/存档函数:
注意读存档的(fscanf、fprintf)格式要一一对应

void readRecordFile()
{FILE * fp;fp=fopen("储存游戏信息的文件路径","r");fscanf(fp,"%f/d/c...","&游戏中的关键信息变量...");fclose(fp);
}
void writeRecordFile()
{FILE * fp;fp=fopen("储存游戏信息的文件路径","w");fprintf(fp,"%f/d/c...","游戏中的关键信息变量...");fclose(fp);
}

为了省事我用c的文件读取方式,当然也可以用c++的(在这里复习顺便一下):

首先要打开文件(文件读写前的必要准备)为文件流对象和指定的磁盘文件建立关联:
(1)存档:

ofstream outfile;
outfile.open("文件路径",输入输入方式);
//也可以在定义时就设置:
//ofstream outfile("文件路径",输入输入方式);

这里的文件路径可以只写文件名,这时默认为当前目录下的文件。
输入输出方式就不写了,用的时候一查就行了。值得注意的是不要搞反这里的输入输出方式打开文件。

然后我们就向文件中输入:outfile<<......;

(2)读档:

ifstream infile;
infile.open("文件路径",输入输入方式);
//也可以在定义时就设置:
//ifstream infile("文件路径",输入输入方式);

这里的文件路径可以只写文件名,这时默认为当前目录下的文件。
输入输出方式就不写了,用的时候一查就行了。值得注意的是不要搞反这里的输入输出方式打开文件。

然后我们就向文件中输入:infile>>......;

当然c++的这些输入输出流的对象还有很多函数,比如get、put。。。可以操作。

实现游戏的读档和存档相关推荐

  1. Unity_二进制,Jason,XML存档读档

    创建一个类Save 用来保存游戏的信息,以便于存档 Save.cs的代码 using System.Collections; using System.Collections.Generic; usi ...

  2. Unity游戏存档与读档

    目前unity常见存档和读档有几种方式,也就是常见的存储数据的方式(注意存档和读档都是针对单机游戏而言的,角色信息,道具信息,关卡情况等) Unity存档的方式大概分为这两大类 图片来源自siki学院 ...

  3. [虚幻引擎][UE][UE5]简单的游戏读档存档

    [虚幻引擎][UE][UE5]简单的游戏读档存档

  4. 游戏服务器之存档读档

    设计上: (1)存档方式 定时器在一定范围的分钟内随机存档一次,为了避免集中式存档 第一次需要全部存档一次,因为需要存档版本字段 分标签实时存档设置了标签的数据,减少每次存档数据 (2)压缩处理 档案 ...

  5. 正版七日杀服务器存档,七日杀网吧怎么存档 七日杀网吧存档读档方法介绍-游侠网...

    七日杀的电脑要求配置虽然不是特别高,但是相对于很多玩家的电脑来说还是一个不小的负担的,所以很多玩家会选择去网吧游玩,但是很多玩家发现网吧非主机玩家的人物数据重进总是清零.所以今天小编就为大家带来了便是 ...

  6. SaveLoad--Unity存档读档的学习总结

    存档与读档功能 举例: 传统RPG游戏(仙剑.空之轨迹): 1.角色信息(生命值,等级) 2.道具信息(装备,药品) 3.场景信息(场景名称.角色坐标) 4.事件信息(任务相关) 关卡类游戏:关卡的通 ...

  7. C++ 关于存档与读档

    c++可以用来制作游戏.可是,如果制作的游戏不能存档,那就特别让人心疼了.这种的游戏通常都是辛辛苦苦玩了半天,好不容易打出的记录,程序重启后,一夜回到解放前. 看着宝贵的血汗数据就这样变为0,小凤我决 ...

  8. c++游戏小技巧2:存读档

    <好久没更了>,今天难得有时间,更篇小技巧. 粥锁粥之,<一些游戏没有存档,当你玩到满级时,可能会很尴尬> 为了避免尴尬 流这种东西脱颖而出 ----------------  ...

  9. Unity中采用JSON进行存档和读档

    在利用JSON做存档和读档之前,首先要在Assets导入一个脚本!这个脚本就是LitJson.dll 然后在Unity中首先创建一个Save脚本,用于保存游戏中相关的信息,在这里我存储的是游戏中怪物的 ...

  10. Python 名片管理系统(文件版,可存档读档)

    Python 名片管理系统(文件版,可存档读档) 相比于函数版的程序,文件版增加了存档读档操作 函数版的可以参考Python名片管理系统(列表.字典和函数的综合应用) 以下是新增部分的代码(不包括调用 ...

最新文章

  1. LNMP - Nginx配置防盗链
  2. 也说说“从Adapter模式到Decorator模式”
  3. NEFU 560 半数集
  4. 插件properties_Mybatis3系列 - 4. mybatis-config的properties属性详解
  5. dev c++ 代码补全_学习干货——玩转DEV—C++
  6. iOS使用新浪微博、微信官方SDK分享内容
  7. 第9章matlab符号计算答案,第9章 MATLAB符号计算_MATELAB课程设计_ppt_大学课件预览_高等教育资讯网...
  8. oracle 用户表、字段信息
  9. 非模式对话框CreateDialog() 与 模式对话框 DialogBoxParam()和...
  10. Kindle PaperWhite 3 5.8.10越狱成功!
  11. 小步快跑 快速迭代(整理)
  12. python 隐含波动率_python - QuantLib XL隐含波动率 - 堆栈内存溢出
  13. props传值强校验validator
  14. Spring Security OAuth2 开发指南
  15. 计算机毕业设计ssm高校学报管理系统lt10k系统+程序+源码+lw+远程部署
  16. [win7 百度网盘] 登录安全验证显示空白页
  17. MySQL异常 Incorrect string value: '\xE8\xB5\xB5\xE6\xB4\x8B' for column at row的解决方案
  18. 2017、2018年中国大数据发展趋势和展望解读
  19. 收费短剧小剧场类影视小程序源码 支持多运营模式+详细搭建教程
  20. 小程序另一种解析json

热门文章

  1. python---面向对象1
  2. Excel 高级筛选实现多条件筛选数据
  3. 【读书有感】——你只是看起来很努力
  4. 特斯拉新汽车工厂拟落户美国德州,生产电动皮卡
  5. git教程 git笔记 git常用 git使用 git操作 git简明 git版本控制 git仓库
  6. 基于点锐度的清晰度算法 EAV
  7. JS修改链接地址实现页面动态跳转的方法
  8. 镁光闪存颗粒对照表_内存颗粒型号识别
  9. 80后的北漂IT人:你的未来在哪?该做好打算了!
  10. 服务器设置temp文件夹权限,服务器windows temp 权限设置