3

私が取り組んでいるプロジェクトでは、ゲーム内のさまざまなアイテムを識別するために使用する約 2k の定義があり、次のようになります。

#define ITEMID_WEAPON_SWORD_PEARL                41  
#define ITEMID_WEAPON_SWORD_CYCLONE              42  
#define ITEMID_WEAPON_SWORD_INVADERS             43  
#define ITEMID_WEAPON_SWORD_SWITCH               44  
#define ITEMID_WEAPON_SWORD_MULTIBLADE           45  
#define ITEMID_WEAPON_SWORD_KATANA               46  

などなど。これは選択によるものではなく、以前の開発者によって設定されたシステムであり、この時点で実用化するには多大な労力が必要になることに注意してください。

基本的にクラフトシステムを作るように言われましたが、それをきれいに整理できることを期待して、Luaを使いたいと思っていました。私の計画は、基本的に次のようなことをすることでした。

Cooking =  
{  
    ["Sandvich"] =   
    {  
        {   --In  
            {ITEMID_COOKING_BREAD,  2, -1},  
            {ITEMID_COOKING_MEAT,   1, -1},  
            {ITEMID_COOKING_TOMATO, 1, -1},  
        },  
        {   --Out  
            {ITEMID_COOKING_SANDVICH, 1}  
        }  
    }  
}  

ただし、私が見ることができる唯一の問題は、私の知る限り、Lua が C/C++ #defines をネイティブに読み取れないことです。(多分それはできますか?それはいいでしょう。)

これらの定義を読み取るために使用できるライブラリやモジュール、または何かがあるかどうか、またはLuaの代わりに別の方法を使用する必要があるかどうか疑問に思っていましたか? 確かに、私はそれに比較的慣れていませんが、出発点が与えられれば、ほとんど労力をかけずに何かを立ち上げて実行できるはずです。

4

2 に答える 2

1

これらのヘッダーを解析するには、boost::waveを使用してみてください。

于 2013-08-09T09:28:36.467 に答える