>>684
単純に書くなら、プレイヤーとかエネミークラスのメンバ変数として状態変数を持たせる。

class Enemy
{
  enum STATE { STATE_INIT, STATE_LOAD, STATE_ATTACK, STATE_DOWN } m_state;
public:
  void exec() {
    switch (m_state) {
    case STATE_INIT:
       // 必要な処理。状態遷移は m_state の値を上書きすることで行う。
       break;
    case STATE_LOAD:
       break;
    }
  }
};

入退場動作を記述したいとか、状態遷移が複雑で手に負えなくなったら、
XML なり CSV なりで書いた状態遷移表から C++ のコードを自動生成する
トランスレータ書くとか、階層化状態をサポートするライブラリ (有名どころ
だと Boost Statechart とか) を入手して使う。