적 몬스터(3) 상태 머신

Sword Enchantment에서 몬스터는 상태 시스템을 사용하여 움직임을 제어합니다. 이는 간단한 AI를 구현하기 위한 좋은 패턴입니다. Sword Enchantment에서 몬스터는 두 가지 패턴을 가지고 있습니다.

  • 플레이어를 지속적으로 쫓는 몬스터(추격형)
  • 생성 시 지정된 방향으로 직선으로 돌진하는 몬스터(러시 타입)

Sword Enchantment의 두 패턴 몬스터는 매우 단순하므로 상태 머신을 사용할 필요가 없습니다. 다만, 추후 자폭형 몬스터나 원거리 공격형 몬스터를 추가할 수 있기 때문에 구현하였다. 기본 StateMachine 클래스 및 State클래스는 패턴을 공부하면서 배운 https://lemonlemonlemon.7을 사용하여 구현했습니다.

몬스터는 같고 움직임만 다르기 때문에 전략 패턴을 사용할까 생각했지만 EnemyController를 상속받아 사용하고 싶어서 추가 전략 패턴을 추가하지 않기로 했습니다.