[c++ lab] 5. sud 프로젝트 구현

17
5. SUD 프프프프 프프 (L) C++ 프프프프프 프프프

Upload: mingeun-park

Post on 20-Jun-2015

535 views

Category:

Documents


0 download

DESCRIPTION

NHN NEXT C++ 프로그래밍

TRANSCRIPT

Page 1: [C++ lab] 5. sud 프로젝트 구현

5. SUD 프로젝트 구현(L) C++ 프로그래밍

박민근

Page 2: [C++ lab] 5. sud 프로젝트 구현

프로토타이핑

Page 3: [C++ lab] 5. sud 프로젝트 구현

기본 클래스 제작

Page 4: [C++ lab] 5. sud 프로젝트 구현

MAP10X10

PCHP/MP행동력아이템

MOBHP/MP스킬AI

게임 매니저

기본 클래스

Page 5: [C++ lab] 5. sud 프로젝트 구현

만들어 봅시다 !

Page 6: [C++ lab] 5. sud 프로젝트 구현

• 맵은 우선 10 X 10 타일으로 구성된다 . • 각 타일은 맵정보 (MapInfo) 구조체로 구성된다 .

• 캐릭터는 키보드 입력으로 동서남북 (W,A,S,D) 로 이동 한다 . • 캐릭터가 이동하면 현재 위치를 출력한다 .

• 맵에 랜덤으로 몹을 배치 한다 . • 몹이 위치한 타일에 이동하면 몹과 전투 한다 .

• 공격은 정해진 데미지 범위 안에서 (MIN ~ MAX) 데미지를 입힌다 . • 일정한 확률로 피격 / 회피 / 방어를 한다 .

• 몹에게 죽으면 게임 오버• 몹에게 이기면 다시 또 이동을 시작한다 .

Page 7: [C++ lab] 5. sud 프로젝트 구현

Game Manager

Page 8: [C++ lab] 5. sud 프로젝트 구현

Input 처리

Page 9: [C++ lab] 5. sud 프로젝트 구현

• 맵은 우선 10 X 10 타일으로 구성된다 . • 각 타일은 맵정보 (MapInfo) 구조체로 구성된다 .

• 캐릭터는 키보드 입력으로 동서남북 (W,A,S,D) 로 이동 한다 . • 캐릭터가 이동하면 현재 위치를 출력한다 .

• 맵에 랜덤으로 몹을 배치 한다 . • 몹이 위치한 타일에 이동하면 몹과 전투 한다 .

• 공격은 정해진 데미지 범위 안에서 (MIN ~ MAX) 데미지를 입힌다 . • 일정한 확률로 피격 / 회피 / 방어를 한다 .

• 몹에게 죽으면 게임 오버• 몹에게 이기면 다시 또 이동을 시작한다 .

Page 10: [C++ lab] 5. sud 프로젝트 구현

Stdafx.h

CGameMap

Page 11: [C++ lab] 5. sud 프로젝트 구현

• 맵은 우선 10 X 10 타일으로 구성된다 . • 각 타일은 맵정보 (MapInfo) 구조체로 구성된다 .

• 캐릭터는 키보드 입력으로 동서남북 (W,A,S,D) 로 이동 한다 . • 캐릭터가 이동하면 현재 위치를 출력한다 .

• 맵에 랜덤으로 몹을 배치 한다 . • 몹이 위치한 타일에 이동하면 몹과 전투 한다 .

• 공격은 정해진 데미지 범위 안에서 (MIN ~ MAX) 데미지를 입힌다 . • 일정한 확률로 피격 / 회피 / 방어를 한다 .

• 몹에게 죽으면 게임 오버• 몹에게 이기면 다시 또 이동을 시작한다 .

Page 12: [C++ lab] 5. sud 프로젝트 구현

CCharacter

Enum 열거형

Page 13: [C++ lab] 5. sud 프로젝트 구현

enum 열거형• 타입 종류같은 열거 해야 하는 값들을 저장하는 데이터 타입• 내부적으로는 int 형과 같은 4 바이트 변수다 .• 변수안에 들어갈 값들을 제한하여 정한다고 생각하면 된다 . • 정의된 값들은 디폴트로 0 부터 순차적으로 증가한다 .• 0 이 아닌 다른 특정한 값 (int 형 ) 으로 정의할 수도 있다 .

예 ) 히트 결과 • 함수 반환 값으로 구별이 필요

• Int 형으로 반환 => 0 – 미스 , 1 – 히트 , 2 – 파괴

• enum 형으로 선언

• MISS, HIT, DESTROY

• 반환값으로 enum 형을 반환

Page 14: [C++ lab] 5. sud 프로젝트 구현

PC 의 생성

Page 15: [C++ lab] 5. sud 프로젝트 구현

PC 위치 초기화

Page 16: [C++ lab] 5. sud 프로젝트 구현

PC 의 이동 처리

실행 결과

Page 17: [C++ lab] 5. sud 프로젝트 구현

5 주차 과제

• C++ 의 형변환 연산자 4 가지에 대하여 조사하여 , 각각 형변환 방법의 설명과 각각 사용하는 예제를 작성하여 제출 하세요 .• Static_cast• Const_cast• reinterpret_cast• Dynamic_cast

• Value, Pointer, Reference 의 차이에 대해서 조사하여 작성하고 , 각각의 차이를 보여주는 예제를 작성하여 제출 하세요 .