ゲームが作れるようになるまでがんばる日記

ゲーム制作のことを中心にゲームに関することを書いています

列挙型を添え字に使う

列挙型は単なるintなので添え字に使える。

enum Object {
    OBJ_NONE,
    OBJ_PLAYER,
    OBJ_ENEMY,
    OBJ_ITEM,
    OBJ_MAX
};

Object obj[10];

const char* name[] = {
    "NONE","PLAYER","ENEMY","ITEM"
};

for(int i=0; i<10; i++) {
    Object o = obj[i];
    cout << name[ o ] << endl;
}

たしかに言われてみればそのとおり。列挙型はintなので添え字にも使える。自分はほとんどswitch文でしか使ってなかった。switch文でもintの値として使っているのだから、配列の添え字にも使えるのは当然なのにどうして思いつかなかったのだろう。