2014-04-29 161 views
0

我想制作一个基于文本的RPG游戏,但是我遇到了一个问题,即时通讯程序相当“新”,知道一些概念,但仍然在学习。 所以我想知道的是;我如何打开一个文件并编辑其中的值? 说我有一个名为健康的文件,用于我的角色健康,它的设置为100.我知道你可以通过设置怪物的伤害来减去变量,但我不知道如何存储健康并编辑它,而我的程序一直沿。C++如何读取和写入文件

即。这是我得到的最远:

ifstream objectFile("health.txt"); 
string health; 
double NoH; 

cout << "welcome" << endl; 
objectFile >> health >> NoH; 
cout << health << ' ' << NoH - 15; 

否=健康的数量。到目前为止,我所有的程序都读取了这个文件,并从100中减去15,因为那是怪物所造成的伤害。但是,我如何让它“取出”这个值并从中减去15?然后将它存储回来,这样它就是85,而下一次我以65为例,等等,所以它使得游戏的目标是生存,即避免被击中和东西。我的意思是避免你的HP达到0,但我也想学习如何实现简单的基于文本的生物,你可以通过让它们的HP达到0. 谢谢

+2

你可能会比眼前这个在游戏中有更多的状态信息。作为设计的一部分,您应该考虑如何表示所有这些数据以及您如何(以及何时)坚持它。许多游戏在每次更改时都不保存到磁盘上,而只是周期性地(或当用户选择时),而状态主要只保留在内存中。 – Joe

+1

一种选择是使用INI文件格式。在启动时将其内容读入本地变量,在游戏进行时修改这些变量,并在退出之前将完整的更新值列表写回INI文件(完全替换原始INI文件)。 – jarmod

+0

@joe是啊这只是一个示例代码,我即将实现函数和类也是,但主要是我想知道如何读取和写入输出到文件。如果你能详细说明这个问题,你究竟是指“国家主要留在记忆里”的意思:) – cppnewb

回答

0

如何使用ini/properties文件? 或使用json?

如果你正在制作RPG,玩家在保存游戏时将值(hp,mp,item,map(x,y)等)保存到文件中?而剩下的时间应该在内存中存储/计算这些值。

有关JSON https://code.google.com/p/vjson/

约ini文件 http://www.hyperrealm.com/libconfig/

+0

更多关于json,[http://www.json.org/ ](http://www.json.org/) – sleepyfung

+0

嗯,它不会是一个图形RPG或任何东西,只是一个基于控制台的文本,就像你有一个选项的旧书,如果你选择了你去的一个您阅读的另一页。像这样的东西..但是,是什么意思,存储/在内存中计算这些值?你能给我一个示例代码吗?并感谢我将查看内存中的链接 – cppnewb

+0

只是意味着变量,char *,int,浮动任何...因此您将值存储在变量中,并且您可以保存或加载到文件,当您键入“保存“命令,你可以节省每一次这些值的任何变化 – sleepyfung