SRPGを作っていて構造体自身が自分の変数の状態を維持管理できると便利だと思い、使いどころが閃いたので実装して使っている
隣り合ったユニットが物を交換するとき、どのキャラクターと交換出来て、
自分の周囲に何人の味方キャラクタが居るのかを管理するために作った構造体である。
こんなかんじ
//-----------------------------------------------------------------------------
//ItemChangePack構造体
//説明:
//-----------------------------------------------------------------------------
typedef struct{
int MaxNumber;
CCharcterBase *lpChar[4];
void Initialize(){ for(int i = 0;i < 4;++i){lpChar[i] = NULL;} }
void SetCharcterNumber(){
int count = 0;
for(int i = 0;i < 4;++i) if(lpChar[i] != NULL)count++;
MaxNumber = count;
}
}ItemChangePack;
・・・・・すごく便利なのである。構造体は単に色々な型を纏めて扱うだけの代物だと思っていたよ。