【趣味】【ゲーム開発】共通状態と固有状態を混在させた、ステート管理用スクリプト

プログラムには「ステートマシン」というデザインパターンがある。

(詳細はぐぐってほしい)

 

そのIDとしてEnum列挙体を使うことがしばしばある。

…が、一度定義したEnumは拡張できない。

 

なので、↓このようにint型にキャストするなどしないといけない。

 

↓実行結果

救急車の状態表示
Parking
Drive
WaitLight
FirstAid
Carrying

キャンピングカーの状態表示
Parking
Drive
WaitLight
Camping

 

…あとはそれぞれのクラスに様々な実装を加えるといい。