一種配置文件管理的方法和系統(tǒng)的制作方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明屬于計(jì)算機(jī)游戲開發(fā)軟件領(lǐng)域,尤其涉及一種配置文件管理的方法和系統(tǒng)。
【背景技術(shù)】
[0002]在游戲設(shè)計(jì)中需要大量的配置文件進(jìn)行游戲數(shù)據(jù)配置,以提高游戲的靈活性和可拓展性。現(xiàn)在游戲領(lǐng)域中的配置文件一般采用Excel文件或者XML文件進(jìn)行配置,但是游戲中需要進(jìn)行配置的數(shù)據(jù)相當(dāng)多,而且對(duì)于每個(gè)配置文件需要進(jìn)行單獨(dú)讀取,如果配置文件數(shù)量多或者配置文件過于龐大,要從中讀取想要的字段信息需要耗費(fèi)較長時(shí)間。
[0003]比較常見的做法是,在游戲啟動(dòng)時(shí),直接把配置文件加載到內(nèi)存。但是這樣做又需要消耗較多內(nèi)存,也使得游戲啟動(dòng)速度更慢。而且配置文件容易被篡改,影響游戲運(yùn)行安全。
【發(fā)明內(nèi)容】
[0004]針對(duì)現(xiàn)有技術(shù)的缺陷,本發(fā)明通過提供一種配置文件管理的方法和系統(tǒng),減少內(nèi)存消耗,提高游戲啟動(dòng)速度。
[0005]本發(fā)明采用的技術(shù)方案一方面為一種配置文件管理方法,其特征在于包括以下步驟:A、載入配置文件并通過關(guān)鍵字檢測來確定配置文件是否符合格式要求,所述關(guān)鍵字用于分類配置文件的數(shù)據(jù);B、給每一個(gè)配置文件賦予標(biāo)號(hào)參數(shù)并保存配置文件,供用戶讀取其中的數(shù)據(jù)并進(jìn)行組合和擴(kuò)展;C、根據(jù)標(biāo)號(hào)參數(shù)對(duì)組合和擴(kuò)展的數(shù)據(jù)進(jìn)行檢驗(yàn),如果通過檢驗(yàn),則將所述數(shù)據(jù)的組合和擴(kuò)展轉(zhuǎn)換成為自定義配置文件,所述自定義配置文件包括索引部分和數(shù)據(jù)部分。
[0006]優(yōu)選地步驟A之前還包括載入配置文件的模板,該模板用于檢測載入的配置文件的關(guān)鍵字是否對(duì)應(yīng)模板。
[0007]優(yōu)選地步驟A還包括:提供人機(jī)交互界面,該人機(jī)交互界面包括配置文件信息框和工作區(qū),其中配置文件信息框包括配置文件的每一個(gè)關(guān)鍵字和其對(duì)應(yīng)的數(shù)據(jù),工作區(qū)包括處理控制欄和處理信息框。
[0008]優(yōu)選地步驟B中,用戶讀取的數(shù)據(jù)為JSON格式。
[0009]優(yōu)選地讀取和轉(zhuǎn)換過程通過數(shù)據(jù)讀取接口和轉(zhuǎn)換接口實(shí)現(xiàn),所述數(shù)據(jù)讀取接口和轉(zhuǎn)換接口基于C#語言。
[0010]本發(fā)明的技術(shù)方案另一方面提供一種配置文件管理系統(tǒng),其特征在于包括:檢測單元,配置為載入配置文件并通過關(guān)鍵字檢測來確定配置文件是否符合格式要求,所述關(guān)鍵字用于分類配置文件的數(shù)據(jù);操作單元,配置為給每一個(gè)配置文件賦予標(biāo)號(hào)參數(shù)并保存配置文件,供用戶讀取其中的數(shù)據(jù)并進(jìn)行組合和擴(kuò)展;輸出單元,配置為根據(jù)標(biāo)號(hào)參數(shù)對(duì)組合和擴(kuò)展的數(shù)據(jù)進(jìn)行檢驗(yàn),如果通過檢驗(yàn),則將所述數(shù)據(jù)的組合和擴(kuò)展轉(zhuǎn)換成為自定義配置文件,所述自定義配置文件包括索弓I部分和數(shù)據(jù)部分。
[0011]優(yōu)選地檢測單元還配置為載入配置文件的模板,該模板用于檢測載入的配置文件的關(guān)鍵字是否對(duì)應(yīng)模板。
[0012]優(yōu)選地檢測單元還配置為提供人機(jī)交互界面,該人機(jī)交互界面包括配置文件信息框和工作區(qū),其中配置文件信息框包括配置文件的每一個(gè)關(guān)鍵字和其對(duì)應(yīng)的數(shù)據(jù),工作區(qū)包括處理控制欄和處理信息框。
[0013]優(yōu)選地用戶讀取的數(shù)據(jù)為JSON格式。
[0014]優(yōu)選地讀取和轉(zhuǎn)換過程通過數(shù)據(jù)讀取接口和轉(zhuǎn)換接口實(shí)現(xiàn),所述數(shù)據(jù)讀取接口和轉(zhuǎn)換接口基于C#語言。
[0015]本發(fā)明的有益效果為:通過將多個(gè)配置文件轉(zhuǎn)換一個(gè)自定義格式的配置文件,并實(shí)現(xiàn)統(tǒng)一訪問接口對(duì)自定義配置文進(jìn)行讀取。從而提高游戲啟動(dòng)速度和運(yùn)行效率,同時(shí)方便管理配置文件的管理,提高工作效率。也可以防止配置文件被惡意篡改。
【附圖說明】
[0016]圖1所示為根據(jù)本發(fā)明實(shí)施例的一種配置文件管理方法流程圖;
圖2所示為根據(jù)本發(fā)明第三實(shí)施例的配置文件例子;
圖3所示為根據(jù)本發(fā)明第三實(shí)施例的人機(jī)交互界面的例子。
【具體實(shí)施方式】
[0017]下面結(jié)合附圖對(duì)本發(fā)明的多個(gè)實(shí)施例進(jìn)行描述。
[0018]根據(jù)本發(fā)明的技術(shù)方案的第一實(shí)施例,如圖1所示一種配置文件管理方法,其特征在于包括以下步驟:A、載入配置文件并通過關(guān)鍵字檢測來確定配置文件是否符合格式要求,所述關(guān)鍵字用于分類配置文件的數(shù)據(jù)(如用于標(biāo)記物品的關(guān)鍵字id,用于命名物品的關(guān)鍵字name,用于描述物品的關(guān)鍵字desc等);B、給每一個(gè)配置文件賦予標(biāo)號(hào)參數(shù)并保存配置文件,供用戶讀取其中的數(shù)據(jù)并進(jìn)行組合和擴(kuò)展;C、根據(jù)標(biāo)號(hào)參數(shù)對(duì)組合和擴(kuò)展的數(shù)據(jù)進(jìn)行檢驗(yàn),如果通過檢驗(yàn),則將所述數(shù)據(jù)的組合和擴(kuò)展轉(zhuǎn)換成為自定義配置文件(例如滿足什么樣的條件,獲得什么樣的物品),所述自定義配置文件包括索引部分和數(shù)據(jù)部分(索引部分存儲(chǔ)所有配置文件的訪問索引,索引指向數(shù)據(jù)部分。為了快速訪問需要的配置數(shù)據(jù),索引采用哈希表進(jìn)行存儲(chǔ)。以文件名和關(guān)鍵字為索引標(biāo)記。程序啟動(dòng)時(shí),配置文件的索引部分將被加載到內(nèi)存,數(shù)據(jù)部分不加載到內(nèi)存。配置文件的訪問接口通過索引數(shù)據(jù)訪問需要的配置數(shù)據(jù))。
[0019]步驟A之前還包括載入配置文件的模板,模板用于檢測載入的配置文件的關(guān)鍵字是否對(duì)應(yīng)模板(根據(jù)配置文件的類型,載入不同的模板,如物品的配置文件的模板,事件的配置文件的模板,查看載入的配置文件是否有全部的關(guān)鍵字,以完成同一類文件的歸類,同時(shí)也起到提示載入文件可能有錯(cuò)的作用)。
[0020]步驟A還包括提供人機(jī)交互界面,該人機(jī)交互界面包括配置文件信息框和工作區(qū),其中配置文件信息框包括配置文件的每一個(gè)關(guān)鍵字和其對(duì)應(yīng)的數(shù)據(jù),工作區(qū)包括處理控制欄和處理信息框。
[0021]步驟B中,用戶讀取的數(shù)據(jù)為JSON格式,JS0N(JavaScriptObject Notat1n)是一種輕量級(jí)的數(shù)據(jù)交換格式。它基于ECMAScript的一個(gè)子集。JSON采用完全獨(dú)立于語言的文本格式,但是也使用了類似于(:語言家族的習(xí)慣(包括(:、0++、0#、如^、拓^5(^1?1?紅1、Python等)。這些特性使JSON成為理想的數(shù)據(jù)交換語言。易于人閱讀和編寫,同時(shí)也易于機(jī)器解析和生成,json簡單說就是javascript中的對(duì)象和數(shù)組,所以這兩種結(jié)構(gòu)就是對(duì)象和數(shù)組兩種結(jié)構(gòu),通過這兩種結(jié)構(gòu)可以表示各種復(fù)雜的結(jié)構(gòu)。
[0022]讀取和轉(zhuǎn)換過程通過數(shù)據(jù)讀取接口和轉(zhuǎn)換接口實(shí)現(xiàn),所述數(shù)據(jù)讀取接口和轉(zhuǎn)換接口基于C#語言。
[0023]根據(jù)本發(fā)明的技術(shù)方案另一方面的第二實(shí)施例,一種