トップページ > ゲ製作技術 > 2011年11月06日 > 0+ysNS7s

書き込み順位&時間帯一覧

6 位/147 ID中時間01234567891011121314151617181920212223Total
書き込み数0000000000000000000002013



使用した名前一覧書き込んだスレッド一覧
名前は開発中のものです。
0からRPGを作る

書き込みレス一覧

0からRPGを作る
71 :名前は開発中のものです。[sage]:2011/11/06(日) 21:25:29.86 ID:0+ysNS7s
構造体とは違う。
説明省いて簡単な具体例の一つを示すと、

enum GameState_t {
GAME_STATE_TITLE = 0;
GAME_STATE_NAME = 1;
:
}
となるので、

switch( state )
{
case GAME_STATE_TITLE: (何かの処理)
case GAME_STATE_NAME: (何かの処理)
}
みたいな場合、

switch( state )
{
case 0: (何かの処理)
case 1: (何かの処理)
}
こう書くより見やすくなる。OK?

詳しくはコンパイル時に決まるとかSTLのときどうとかとかあるけど、今は考えなくていい。
0からRPGを作る
74 :名前は開発中のものです。[sage]:2011/11/06(日) 21:41:20.85 ID:0+ysNS7s
こんなのにも使う。

enum { are, kore, end };

// 本体とする
int param[end];
for ( int i = 0; i < end; i++ ) param[i] = 0;
param[kore] = 14;

で、たとえばsoreを追加したいとする。
enum { are, sore, kore, end };
これでも本体のコードは変更無しで動く。
もし数字で固体を管理してると、初期かも書き直さないといけないし、
全部のparam[1]をparam[2]に書き換えが必要。
バグの原因。
0からRPGを作る
76 :名前は開発中のものです。[sage]:2011/11/06(日) 23:49:20.61 ID:0+ysNS7s
>>75
想定しているのは構造体を使えないプログラム初心者が、
ちょっと複雑なプログラムをして、ベタで定数を扱おうとしたとき。

自分が実際にこういう構造にするときは簡単にスクリプトっぽい処理をさせる場合など。
命令の入れ替えや追加が容易だから。



※このページは、『2ちゃんねる』の書き込みを基に自動生成したものです。オリジナルはリンク先の2ちゃんねるの書き込みです。
※このサイトでオリジナルの書き込みについては対応できません。
※何か問題のある場合はメールをしてください。対応します。