实现游戏的读档和存档
最近学图形学经常用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。。。可以操作。
实现游戏的读档和存档相关推荐
- Unity_二进制,Jason,XML存档读档
创建一个类Save 用来保存游戏的信息,以便于存档 Save.cs的代码 using System.Collections; using System.Collections.Generic; usi ...
- Unity游戏存档与读档
目前unity常见存档和读档有几种方式,也就是常见的存储数据的方式(注意存档和读档都是针对单机游戏而言的,角色信息,道具信息,关卡情况等) Unity存档的方式大概分为这两大类 图片来源自siki学院 ...
- [虚幻引擎][UE][UE5]简单的游戏读档存档
[虚幻引擎][UE][UE5]简单的游戏读档存档
- 游戏服务器之存档读档
设计上: (1)存档方式 定时器在一定范围的分钟内随机存档一次,为了避免集中式存档 第一次需要全部存档一次,因为需要存档版本字段 分标签实时存档设置了标签的数据,减少每次存档数据 (2)压缩处理 档案 ...
- 正版七日杀服务器存档,七日杀网吧怎么存档 七日杀网吧存档读档方法介绍-游侠网...
七日杀的电脑要求配置虽然不是特别高,但是相对于很多玩家的电脑来说还是一个不小的负担的,所以很多玩家会选择去网吧游玩,但是很多玩家发现网吧非主机玩家的人物数据重进总是清零.所以今天小编就为大家带来了便是 ...
- SaveLoad--Unity存档读档的学习总结
存档与读档功能 举例: 传统RPG游戏(仙剑.空之轨迹): 1.角色信息(生命值,等级) 2.道具信息(装备,药品) 3.场景信息(场景名称.角色坐标) 4.事件信息(任务相关) 关卡类游戏:关卡的通 ...
- C++ 关于存档与读档
c++可以用来制作游戏.可是,如果制作的游戏不能存档,那就特别让人心疼了.这种的游戏通常都是辛辛苦苦玩了半天,好不容易打出的记录,程序重启后,一夜回到解放前. 看着宝贵的血汗数据就这样变为0,小凤我决 ...
- c++游戏小技巧2:存读档
<好久没更了>,今天难得有时间,更篇小技巧. 粥锁粥之,<一些游戏没有存档,当你玩到满级时,可能会很尴尬> 为了避免尴尬 流这种东西脱颖而出 ---------------- ...
- Unity中采用JSON进行存档和读档
在利用JSON做存档和读档之前,首先要在Assets导入一个脚本!这个脚本就是LitJson.dll 然后在Unity中首先创建一个Save脚本,用于保存游戏中相关的信息,在这里我存储的是游戏中怪物的 ...
- Python 名片管理系统(文件版,可存档读档)
Python 名片管理系统(文件版,可存档读档) 相比于函数版的程序,文件版增加了存档读档操作 函数版的可以参考Python名片管理系统(列表.字典和函数的综合应用) 以下是新增部分的代码(不包括调用 ...
最新文章
- LNMP - Nginx配置防盗链
- 也说说“从Adapter模式到Decorator模式”
- NEFU 560 半数集
- 插件properties_Mybatis3系列 - 4. mybatis-config的properties属性详解
- dev c++ 代码补全_学习干货——玩转DEV—C++
- iOS使用新浪微博、微信官方SDK分享内容
- 第9章matlab符号计算答案,第9章 MATLAB符号计算_MATELAB课程设计_ppt_大学课件预览_高等教育资讯网...
- oracle 用户表、字段信息
- 非模式对话框CreateDialog() 与 模式对话框 DialogBoxParam()和...
- Kindle PaperWhite 3 5.8.10越狱成功!
- 小步快跑 快速迭代(整理)
- python 隐含波动率_python - QuantLib XL隐含波动率 - 堆栈内存溢出
- props传值强校验validator
- Spring Security OAuth2 开发指南
- 计算机毕业设计ssm高校学报管理系统lt10k系统+程序+源码+lw+远程部署
- [win7 百度网盘] 登录安全验证显示空白页
- MySQL异常 Incorrect string value: '\xE8\xB5\xB5\xE6\xB4\x8B' for column at row的解决方案
- 2017、2018年中国大数据发展趋势和展望解读
- 收费短剧小剧场类影视小程序源码 支持多运营模式+详细搭建教程
- 小程序另一种解析json