SlideShare a Scribd company logo
디자인 패턴 
스테이트 패턴, FSM
스테이트 패턴(State Pattern) 
 [ State Pattern의 정의 ] 
객체의 내부 상태가 바뀜에 따라서 객체의 행동을 바꿀 수 있다. 
마치 객체의 클래스가 바뀌는 것과 같은 결과를 얻을 수 있다. 
즉, 객체가 상태를 가지고 있고 현재 상태에 따라 행동이 달라지 
는 것을 말한다. 
 [ 클래스 다이어그램 ]
 예) 뽑기 기계 (Gumball Machine) 
 행동: 동전 투입, 동전 반환, 손잡이 돌림, 알맹이 배출 
 상태: 동전 없음, 동전 있음, 알맹이 판매, 알맹이 매진
 예시 코드)
 실행 결과)
FSM(Finite State Machine) 
 [ FSM의 정의 ] 
 유한 상태 기계, 즉, 유한한 개수의 상태들로 구성된 하나의 
간단한 기계라는 뜻이다. 
 하나의 “입력”을 받고 그에 의거해서 현재 상태로부터 다른 
어떤 상태로 “전이” 하는 식으로 작동한다. 
 이러한 특징을 이용하여 게임의 기본 AI에 사용한다. 
 [ FSM의 특징] 
 유한 수의 상태를 가진다. 
 그 자신의 상태를 시험할 수 있다. 
 외부로부터 입력을 받아들인다. 
 이산된 시간의 단계에 그 자신의 상태를 변화시킬 수 있다. 
 그 자신의 상태와 외부로부터의 입력에 근거한 일단의 규칙 
에 따라서 그 자신의 상태를 변화시킬 수 있다.
 예 1) 
대기 
적을 찾기 위해 
탐색상태로 전 
환 
탐색 
공격 
도주 
전투 
탐색 중에 적 
을 발견 전투 
상태로 전환 
도주상태에서 
도주에 성공하 
면 대기 상태 
로 전환 
공격 상태에서 
적을 쓰러뜨리 
면 대기 상태 
로 전환 
 예 2)
FSM 과 State Pattern 
 FSM 이 하는 일을 살펴보다 보면 이와 비슷한 상태 패턴 
(state pattern)이 떠오르게 되는데, 엄연히 FSM 과 상태 패 
턴은 다르다. 
 FSM 은 하나의 완성품으로 치자면, 상태 패턴은 FSM 을 완 
성시킬수 있는 기술 중 하나라는 뜻이다. 
 FSM 은 상태 패턴을 이용하여 만들수도 있지만 If else 를 이 
용해서 만들 수도 있다
참고 사이트 
 http://liepooh.egloos.com/viewer/1101637 
 http://www.mnworld.co.kr/1756 
 http://blog.naver.com/impress0503/220121377190 
 http://blog.naver.com/lee9742/80178753624

More Related Content

Viewers also liked

Mental models_행동 기반 사용자 그룹 분류
Mental models_행동 기반 사용자 그룹 분류Mental models_행동 기반 사용자 그룹 분류
Mental models_행동 기반 사용자 그룹 분류
Hee Sung Park
 
C# / .NET Framework로 미래 밥그릇을 챙겨보자 (Basic)
C# / .NET Framework로 미래 밥그릇을 챙겨보자 (Basic)C# / .NET Framework로 미래 밥그릇을 챙겨보자 (Basic)
C# / .NET Framework로 미래 밥그릇을 챙겨보자 (Basic)
Dong Chan Shin
 
젠 스타일 슬라이드 한 번에 고수 되기
젠 스타일 슬라이드 한 번에 고수 되기젠 스타일 슬라이드 한 번에 고수 되기
젠 스타일 슬라이드 한 번에 고수 되기
Jaesung Kim
 
책자 국세청 2014_세무조사가이드북
책자 국세청 2014_세무조사가이드북책자 국세청 2014_세무조사가이드북
책자 국세청 2014_세무조사가이드북
jy lee
 
기획학과 A 11학번 김의환
기획학과 A 11학번 김의환기획학과 A 11학번 김의환
기획학과 A 11학번 김의환
kyhss1805
 
Gamification (spicy marketing)
Gamification (spicy marketing)Gamification (spicy marketing)
Gamification (spicy marketing)
Kwan Hang Cho
 
월마트 전략
월마트 전략월마트 전략
월마트 전략
Da Som Lee
 
멘탈모델 1-3장 자료
멘탈모델 1-3장 자료멘탈모델 1-3장 자료
멘탈모델 1-3장 자료
beom kyun choi
 
게임 기획자 대체 뭐하는 놈들일까
게임 기획자 대체 뭐하는 놈들일까 게임 기획자 대체 뭐하는 놈들일까
게임 기획자 대체 뭐하는 놈들일까
상준 이
 
[멘토링] 경찰행정학과 소개 PPT
[멘토링] 경찰행정학과 소개 PPT[멘토링] 경찰행정학과 소개 PPT
[멘토링] 경찰행정학과 소개 PPT
Inhye Lee
 
120629 fsm in unity3d skyseer
120629 fsm in unity3d skyseer120629 fsm in unity3d skyseer
120629 fsm in unity3d skyseerChan-hyun Park
 
광운대[바람] 4.vhdl fsm
광운대[바람] 4.vhdl fsm광운대[바람] 4.vhdl fsm
광운대[바람] 4.vhdl fsm
NAVER D2
 
2장 상태구도형 에이전트의 디자인
2장 상태구도형 에이전트의 디자인2장 상태구도형 에이전트의 디자인
2장 상태구도형 에이전트의 디자인홍준 김
 
triple EX _ 지하철 관찰 및 아이데이션
triple EX _ 지하철 관찰 및 아이데이션triple EX _ 지하철 관찰 및 아이데이션
triple EX _ 지하철 관찰 및 아이데이션Hyunjin Yoo
 
기업위기요소영역
기업위기요소영역기업위기요소영역
기업위기요소영역
James Chung
 

Viewers also liked (17)

Mental models_행동 기반 사용자 그룹 분류
Mental models_행동 기반 사용자 그룹 분류Mental models_행동 기반 사용자 그룹 분류
Mental models_행동 기반 사용자 그룹 분류
 
Ch7 bpmn
Ch7 bpmnCh7 bpmn
Ch7 bpmn
 
C# / .NET Framework로 미래 밥그릇을 챙겨보자 (Basic)
C# / .NET Framework로 미래 밥그릇을 챙겨보자 (Basic)C# / .NET Framework로 미래 밥그릇을 챙겨보자 (Basic)
C# / .NET Framework로 미래 밥그릇을 챙겨보자 (Basic)
 
젠 스타일 슬라이드 한 번에 고수 되기
젠 스타일 슬라이드 한 번에 고수 되기젠 스타일 슬라이드 한 번에 고수 되기
젠 스타일 슬라이드 한 번에 고수 되기
 
책자 국세청 2014_세무조사가이드북
책자 국세청 2014_세무조사가이드북책자 국세청 2014_세무조사가이드북
책자 국세청 2014_세무조사가이드북
 
기획학과 A 11학번 김의환
기획학과 A 11학번 김의환기획학과 A 11학번 김의환
기획학과 A 11학번 김의환
 
Gamification (spicy marketing)
Gamification (spicy marketing)Gamification (spicy marketing)
Gamification (spicy marketing)
 
월마트 전략
월마트 전략월마트 전략
월마트 전략
 
멘탈모델 1-3장 자료
멘탈모델 1-3장 자료멘탈모델 1-3장 자료
멘탈모델 1-3장 자료
 
게임 기획자 대체 뭐하는 놈들일까
게임 기획자 대체 뭐하는 놈들일까 게임 기획자 대체 뭐하는 놈들일까
게임 기획자 대체 뭐하는 놈들일까
 
[멘토링] 경찰행정학과 소개 PPT
[멘토링] 경찰행정학과 소개 PPT[멘토링] 경찰행정학과 소개 PPT
[멘토링] 경찰행정학과 소개 PPT
 
120629 fsm in unity3d skyseer
120629 fsm in unity3d skyseer120629 fsm in unity3d skyseer
120629 fsm in unity3d skyseer
 
Game ai.fsm.01
Game ai.fsm.01Game ai.fsm.01
Game ai.fsm.01
 
광운대[바람] 4.vhdl fsm
광운대[바람] 4.vhdl fsm광운대[바람] 4.vhdl fsm
광운대[바람] 4.vhdl fsm
 
2장 상태구도형 에이전트의 디자인
2장 상태구도형 에이전트의 디자인2장 상태구도형 에이전트의 디자인
2장 상태구도형 에이전트의 디자인
 
triple EX _ 지하철 관찰 및 아이데이션
triple EX _ 지하철 관찰 및 아이데이션triple EX _ 지하철 관찰 및 아이데이션
triple EX _ 지하철 관찰 및 아이데이션
 
기업위기요소영역
기업위기요소영역기업위기요소영역
기업위기요소영역
 

디자인 패턴

  • 2. 스테이트 패턴(State Pattern)  [ State Pattern의 정의 ] 객체의 내부 상태가 바뀜에 따라서 객체의 행동을 바꿀 수 있다. 마치 객체의 클래스가 바뀌는 것과 같은 결과를 얻을 수 있다. 즉, 객체가 상태를 가지고 있고 현재 상태에 따라 행동이 달라지 는 것을 말한다.  [ 클래스 다이어그램 ]
  • 3.  예) 뽑기 기계 (Gumball Machine)  행동: 동전 투입, 동전 반환, 손잡이 돌림, 알맹이 배출  상태: 동전 없음, 동전 있음, 알맹이 판매, 알맹이 매진
  • 5.
  • 7. FSM(Finite State Machine)  [ FSM의 정의 ]  유한 상태 기계, 즉, 유한한 개수의 상태들로 구성된 하나의 간단한 기계라는 뜻이다.  하나의 “입력”을 받고 그에 의거해서 현재 상태로부터 다른 어떤 상태로 “전이” 하는 식으로 작동한다.  이러한 특징을 이용하여 게임의 기본 AI에 사용한다.  [ FSM의 특징]  유한 수의 상태를 가진다.  그 자신의 상태를 시험할 수 있다.  외부로부터 입력을 받아들인다.  이산된 시간의 단계에 그 자신의 상태를 변화시킬 수 있다.  그 자신의 상태와 외부로부터의 입력에 근거한 일단의 규칙 에 따라서 그 자신의 상태를 변화시킬 수 있다.
  • 8.  예 1) 대기 적을 찾기 위해 탐색상태로 전 환 탐색 공격 도주 전투 탐색 중에 적 을 발견 전투 상태로 전환 도주상태에서 도주에 성공하 면 대기 상태 로 전환 공격 상태에서 적을 쓰러뜨리 면 대기 상태 로 전환  예 2)
  • 9. FSM 과 State Pattern  FSM 이 하는 일을 살펴보다 보면 이와 비슷한 상태 패턴 (state pattern)이 떠오르게 되는데, 엄연히 FSM 과 상태 패 턴은 다르다.  FSM 은 하나의 완성품으로 치자면, 상태 패턴은 FSM 을 완 성시킬수 있는 기술 중 하나라는 뜻이다.  FSM 은 상태 패턴을 이용하여 만들수도 있지만 If else 를 이 용해서 만들 수도 있다
  • 10. 참고 사이트  http://liepooh.egloos.com/viewer/1101637  http://www.mnworld.co.kr/1756  http://blog.naver.com/impress0503/220121377190  http://blog.naver.com/lee9742/80178753624