일단 Bob, Elsa라는 등장인물이 여러지역을 가서 여러가지의 상태로 전환이 되는것을 표현하고있다.
먼저 BaseGameEntity클래스 라는걸 살펴보면 모든 등장인물들은 여기서 파생이 된다.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
|
class BaseGameEntity
{
private:
//모든 엔티티들은 고유한 식별번호를 가진다.
int m_ID;
//유효한 다음식별번호이다. BaseGameEntity가 매번 초기화될때마다
//이 값또한 갱신된다.
static int m_iNextValidID;
//ID가 정확하게 설정되도록 생성자 내부에서 호출된다.
//ID를 설정하고 유효한 다음ID를 증가시키기 전에
//메소드에 전달된 값이 유효한 다음 ID보다
//더큰지 아니면 같은지 확인한다.
void SetID(int val);
public:
BaseGameEntity(int id)
{
SetID(id);
}
virtual ~BaseGameEntity(){}
//모든 엔티티들은 Update를 가지고 있어야한다.
virtual void Update()=0;
int ID()const{return m_ID;}
};
| cs |
각 엔티티들이 고유한 식별자를 가지게 하기 위해서 그래서 초기화 될때 생성자에게 넘겨진 ID가 고유한 것인지를 확인하기 위해서 setID가 검사를 진행한다. 고유한 ID가 아니면 실패 메세지와 함께 프로그램은 종료가 된다.
댓글 없음:
댓글 쓰기