ホーム < ゲームつくろー! < 新・ゲーム制作技術編

その2 CSVデータテーブルをプログラム上で使えるようにする:サンプルプログラム



 新・ゲーム制作技術編その2「CSVデータテーブルをプログラム上で使えるようにする」で説明した内容を踏まえたサンプルプログラムです。実行するとコンソール画面にRPGのアイテムのパラメータが一覧表示されます。


サンプルスクリーンショット。見た目は地味だけど便利です^^

 このサンプルは外部で定義したCSVファイルのデータテーブルを読み込むTableクラスの動作をチェックしています。


 サンプルを動かすには、

 @ こちらからクラス定義ファイル(oxtable.h、oxtable.cpp)をダウンロードし、空のコンソールアプリケーションに追加します。
 A 下記プログラムをmain.cppとして作成します。
 B test.txtというCSVファイルを作成して同じプロジェクトフォルダに置いて実行

とします。うまく動かない場合は掲示板にご連絡下さい。

test.txt
6
3
id,name,attribute,price,attack,defence
item_w_0001,木刀,weapon,100,10,0
item_w_0002,銅の剣,weapon,500,20,0
item_w_0003,鉄の剣,weapon,1200,35,0
main.cpp
#include "stdafx.h"
#include "oxtable.h"

void output(OX::Table &table, const char* id) {
        OX::Table::Record &r = table[id];
        printf("%s\t%s\t%d\t%d\t%d\n",
                r["name"].str.c_str(),
                r["attribute"].str.c_str(),
                r["price"].iVal,
                r["attack"].iVal,
                r["defence"].iVal
        );
}

int _tmain(int argc, _TCHAR* argv[])
{
        OX::Table table("test.txt");

        printf( "name\tattrib\tprice\tattack\tdefence\n" );
        output(table, "item_w_0001");
        output(table, "item_w_0002");
        output(table, "item_w_0003");

        return 0;
}