텍스트 파서

Programming/C 2015. 5. 1. 15:42

1. 게임에서 사용되는 텍스트 파서


- 게임에는 여러 가지의 데이터가 사용된다.

- 이미지 데이터, 수치, 문자열의 데이터, 캐릭터의 능력치, 아이템 수치, 캐릭터 대사, 

  게임의 기본 설정 값등....   수많은 수치가 데이터가 사용된다.



이는 물론 코드상에서는 직접 입력해서 사용할 수 있지만 코드상에 입력된 수치들은 변경 시마다 컴파일을 새로 해줘야 하는등 불편함이 있다.


그래서 자주 변경될 수 있는 수치들의 경우에는 외부 파일에 따로 저장을 해서 이를 읽어 들여 사용하는 것이 일반적이다.



예를 들어 게임의 기본적인 설정시에 (화면모드 설정, 접속 IP 입력, 디버깅 로그 설정 등)의 경우 아래와 같이 간단한 텍스트 문서를 만들어서 입력할 수 있다.



위에는  소스코드가 아닌 텍스트파일에 저장하는 파일 내용이다.( 편의를 위해 비쥬얼로 써봄 )


- 위처럼 서버 버전, 서버컴퓨터 ID,  서버IP/포트, 가동 쓰레드  수, 최대 접속 클라이언트 수의 입력을 

  텍스트 파일로 만듦으로써 수치 수정시마다 소스코드에서 변경할 필요가 없으며, 단지 텍스트 파일만

  고쳐서 서버를 가동시키면 간단하게 수정할 수 있다.


- 위처럼 소스코드에서 코드를 변경하는 방법보다는 코드와 별개로 데이터를 관리하는 방법이 더 

  발전된 방법이라고 할 수 있다.


2. 텍스트 파서의 사용 예시


클래스 인스턴스를 선언해서 파일을 로드하고 얻고자 하는 항목의 이름 입력하면 그에 해당하는 수치 값을 얻을 수 있다.



3. 텍스트 파서의 구현


- 파서의 가장 중요한 부분은 긴 문자열을 1Byte씩 Char 단위로 비교 검사하는 작업이다.

- 항목의 이름과 해당 항목의 수치 데이터의 구분을 위해서는 모든 문자열을

  Space, Enter, Tab단위로 분리해서 단어단위로 모두 잘라내서 비교하는 작업이 필요하다.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

'Programming > C' 카테고리의 다른 글

01_기본 자료형  (0) 2015.05.02
memset , memcpy, memmove  (0) 2015.05.01
문자열  (0) 2015.04.19
memmove()  (0) 2015.04.16
배열의 초기화  (0) 2015.04.16
admin