참 웃기지 말야....

얼마전 면접 보면서 FSM이 뭔지 아냐고 물어봐서
난 모른다고 했는데....

다 내가 코딩하면서 쓰던 설계방법이라니 말야...ㅋ

팩토리 패턴이나 그외 패턴들도 그렇구....

너무 이론보다 코딩중심으로 공부를 해서 그런가...ㅋ


아무튼 다 집어치우고...


말 그대로 각각의 상태를 정의하는것..ㅋ


내가 쓰던 패턴대로 예제를 작성해 보겟슴ㅋ

enum PLAYER_STATE =
{
  PSTATE_IDLE = 0,
  PSTATE_MOVE,
  PSTATE_WALK,
  PSTATE_JUMP,

  PSTATE_COUNT
}


class CPlayer
{
CPlayer() { m_nState = PSTATE_IDLE; }

PALYER_STATE m_nState;

PLAYER_STATE getState() { return m_nState; }
void setState(PLAYER_STATE nState) { m_nState = nState; }
..........
}


class CGameManager
{
CPlayer* pPlayer;

void onProcessing();

void onProcessIdle();
void onProcessMove();
void onProcessWalk();
void onProcessJump();
}



void OnProcessing()
{
  switch(pPlayer->getState())
{
  case PPLAYER_IDLE:
    onProcessIdle();
    break;

  case PPLAYER_MOVE:
    onProcessMove();
    break;

  case PPLAYER_WALK:
    onProcessWalk();
    break;

  case PPLAYER_JUMP:
    onProcessJump();
    break;
}



대충 요런식? -_-ㅋ
Posted by 명혀니
,