-
GPG gem 1일차쥬신게임아카데미 2016. 3. 7. 18:46
1. 하드 코딩을 없애라..
어떤 것이들 바뀔 수 있다고 가정해야한다.
게임이 시동될 때마다 또는 필요할 때마다 텍스트 파일등를 읽어서 처리할 수 있또록 시스템을 만들어야한다..
무기의 종류가 4가지엿다가 100가지로 늘어나도 텍스트 파일만 적당히 수정하면 되니까..
2. 데이터 중복 피해라
서로 다른 두 지점에서 동일한 행동이 일어나야 하는 경우 코드는 하나만 존재해야한다.
데이터도 여러곳에서 쓰인다면 전역적으로 만드는것이다..
헝가리안
dw == DWORD, w == WORD
s_ == 정적변수 static
C로 시작하는 클래스 구체 클래스(특정한 용도와 구현을 가진 클래스
I로 시작하는 것은 인터페이스 클래스(다른 클래스들이 상속받을 기반 클래스로 쓰임)
클래스 설계
변수 초기화를 개별적인 함수에서 수행할떄 생기는 장점 : 객체 생성 이외시점에도 클래스 변수들을 초기화할 수 있기 때문이다.
떄로는 객체가 생성되는 시점 이후에 객체를 활성화 시켜야 하는 경우도 있는데..
다른 어떤 클래스의 멤버인 레퍼 클래스??를 다루는 경우가 이런 경우인데...
실제 생성 시점을 생성자로부터 분리하면 어떤 객체를 한번만 생성해 두고 Create() 나 Destory()같은 메서드로 여러번 호출하는 식으로 동일한 객체 멤모리를 재사용하는 것이 가능하다.(동적인 메모리 할당은 매우 소비적이므로 가능한 한 피하는 것이 좋다)
그리고 각종 성공여부에 대해서 bool값 리턴은 참 거짓 2개 밖에 없는 int형으로 반환할시에는 여러가지 의미를 담고 반환이 가능하다