20
게게게게 게게 게게게 게게게 게게 게게게 ( 게게게게 )

게임에서 사용 가능한 간편한 파서

Embed Size (px)

Citation preview

Page 1: 게임에서 사용 가능한 간편한 파서

게임에서 사용 가능한 간편한 파서

박재홍 ( 꿈꾸는소 )

Page 2: 게임에서 사용 가능한 간편한 파서

목차1. XML 2. Excel3. CSV

Page 3: 게임에서 사용 가능한 간편한 파서

1. XML1) xml 이란 ? - XML 은 엘리먼트와 속성을 사용자가 개별적으로 정의할 수 있는 HTML 포맷을 일반화한 것이다 .- 데이터 위주의 구조이다 .- 확장 가능한 언어이고 문법이 존재한다 .( 확장성 생성 언어 )

Page 4: 게임에서 사용 가능한 간편한 파서

1.XML2)XML 의 문법<?xml version=“1.0” encoding=“euc-kr”?> <root>

<actor race=“human”> 철수 </actor></root>

<? ~ ?> : PI(Processing Instruction) 이라고 한다 . Appliction에게 전달하는 정보이다 .

Version : 필수 속성이다 버전정보를 나타낸다 .

요소 (Element): < 요소명 > 요소내용 </ 요소명 > 의 형식을 지니고 있다 .최상위 요소와 하위 요소로 나눠진다 .속성 (Attribute): 속성은 요소내에 정보나 데이터를 표현하기 위한 방법이다 . < 요소명 속성명 = “ 속성값” >

Page 5: 게임에서 사용 가능한 간편한 파서

1.XML3) TinyXMLXML 파서에는 여러가지가 종류가 있다 MSXML 등 ..이중 TinyXML 이라는 무료 라이브러리를 소개하고자 한다 . 쓰기가 간편하고 프로젝트에 적용시키기도 쉽다 .다운 후 압축을 풀고 6 개의 .cpp, .h 파일을 현재 프로젝트에 넣어준 후 컴파일을 하면 적용 된다 .사용 할 때엔 #include”tinyxml.h” 을 추가해주면 끝 !

Page 6: 게임에서 사용 가능한 간편한 파서

1.XML3) TinyXMLClass HierarchyTiXmlBase

TiXmlAttribute TiXmlNode

TiXmlComment TiXmlDeclaration TiXmlDocument TiXmlElement TiXmlText TiXmlUnknown

Page 7: 게임에서 사용 가능한 간편한 파서

1.XML

4) 예제 GO GO ~ !

Page 8: 게임에서 사용 가능한 간편한 파서

1.XML5) 장단점- 장점

- 메모장으로 쉽게 수정이 가능하고 눈으로 식별하기 쉽다 ( 옵션 등 )- 하나의 캐릭터 , 혹은 객체의 옵션을 기획자가 쉽게 집어넣거나

확인 할 수 있다 .- 문법이 있어 체계적이고 논리적으로 작성할 수 있다 .- 게임 데이터의 포맷 변화를 자유롭게 쓸 수 있다 .

- 단점

- 속도면에서는 바이너리 파일보다는 느리다 .- 간단하고 특수한 어떤 data 형을 표현 할 때도 , 지나치게 많은 정의가 필요하다 .- 보안성이 낮다 .

Page 9: 게임에서 사용 가능한 간편한 파서

2.Excel1)Excel 이란 ?- 마이크로소프트사에서 개발한 표계산 소프트웨어 프로그램 .- 계산 , 분석 , 관리 , 그래픽 , 차트 등 만능 프로그램이다 .- 실무에 특화되어 있다 .

참 .. 좋은데 .. 정말 .. 좋은데 .. 뭐라 표현할 방법이 없네 ..

Page 10: 게임에서 사용 가능한 간편한 파서

2. Excel2) 어떻게 읽어야 할까 ? 일반적으로 Excel 을 제어하려면 MS office 에서 제공하는 Automation 을 이용하여야 한다 .

하지만 제공하는 함수 자체가 저수준까지 조절 할 수 있게 제공 되어서 자칫 배보다 배꼽이 더 클 수 있다 .

그래서 알아보던 중 Code Project 에서 유용한 소스를 건졌다 !!

우리가 원하는 것은 엑셀 자체를 읽고 쓰는 것이지 엑셀을 조작하는 것이 아니다 . 즉 가벼워야 했다 .

Page 11: 게임에서 사용 가능한 간편한 파서

2. Excel

보기와 앞서 기본적인 구성을 살펴보자 !!

Page 12: 게임에서 사용 가능한 간편한 파서

2.Excel3) Excel 의 구성

Page 13: 게임에서 사용 가능한 간편한 파서

2.Excel4) BasicExcel 의 구성-File (BasicExcel)-Sheet (BasicExcelWorksheet)-Cell (BasicExcelCell)

BasicExcel 에서 File 은 IStorage 로 관리를 한다 .IStorage 는 저장 객체의 관리와 생성을 관리하는 in-terface 이다 . 이 것을 바탕으로 만든 Document Class 에 BasicExcel Class 가 있다 .

Page 14: 게임에서 사용 가능한 간편한 파서

2. Excel4) BasicExcel 의 구성

BasicExcelWorksheet Class 는 엑셀 에 있어서 셀들의 집합이라고 생각 하면 된다 . 셀들을 관리한다 .

BasicExcelCell 은 엑셀에서 가장 기본단위인 셀을 나타낸다 . 데이터를 포함하고 디자인을 설정할 수 있도록 만들어져 있다 .

Page 15: 게임에서 사용 가능한 간편한 파서

2. Excel

5) 예제

아 .. 너무 빨리 끝나려나 ..

Page 16: 게임에서 사용 가능한 간편한 파서

2. Excel 6) 장단점- 장점문서작업을 주로 하게 되는 기획자입장에서 excel파일의 입출력은 간편해진다 .셀단위로 작업을 하여 조작함에 편리하다 .수식을 사용할 수 있다 .엑셀로 바로 열어서 작업할 수 있다 ( 기획자 )- 단점xml 파일보다 훨씬 느리다 .솔직히 좋은 점을 모르겠다 .

Page 17: 게임에서 사용 가능한 간편한 파서

3. CSV1) CSV 란 ?

쉼표를 기준으로 항목을 구분하여 저장한 데이터를 말한다 . 데이터베이스나 표 계산 소프트웨어 데이터를 보존하기 위해 이런 형식을 사용한다

CSV 형식의 파일은 텍스트파일로 보존하여 문서 처리기나 편집기에서 열람 · 편집할 수 있다 .

수 많은 어플리케이션에서 사용하는 범용형식

Page 18: 게임에서 사용 가능한 간편한 파서

3. CSV2) CSV 구성Ex) 5,6,3, 데브루키 , 3, 허얼데이터 쉼표 데이터 쉼표 데이터 쉼표

CSV 는 줄 단위로 구분된다 .

뭔가 .. 내용이 없다 ..!

Page 19: 게임에서 사용 가능한 간편한 파서

3. CSV3) 장단점- 장점읽는 속도가 비교적 빠르다 .내가 원하는 데이터만 넣고 빼고가 간편하다 .구현이 쉽다 .

- 단점프로그래머가 일일이 관여하여 작성해야 한다 .잘못 들어간 데이터가 있으면 파악하기 힘들다 .

Page 20: 게임에서 사용 가능한 간편한 파서

끄 읏 ..뭐 .. 사실 .. 단순한 거에요 ..뭔가 기대하시고 오신 분에게실망감과 낚임의 분노를 선사합니다 ..

TinyXML다운로드 : http://www.grinninglizard.com/tinyxml/BasicExcel 다운로드 : http://www.codeproject.com/KB/office/BasicExcel.aspx