2014-04-29 163 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