[c++ lab] 5. sud 프로젝트 구현
DESCRIPTION
NHN NEXT C++ 프로그래밍TRANSCRIPT
![Page 1: [C++ lab] 5. sud 프로젝트 구현](https://reader036.vdocuments.net/reader036/viewer/2022081419/55851440d8b42ac10a8b5045/html5/thumbnails/1.jpg)
5. SUD 프로젝트 구현(L) C++ 프로그래밍
박민근
![Page 2: [C++ lab] 5. sud 프로젝트 구현](https://reader036.vdocuments.net/reader036/viewer/2022081419/55851440d8b42ac10a8b5045/html5/thumbnails/2.jpg)
프로토타이핑
![Page 3: [C++ lab] 5. sud 프로젝트 구현](https://reader036.vdocuments.net/reader036/viewer/2022081419/55851440d8b42ac10a8b5045/html5/thumbnails/3.jpg)
기본 클래스 제작
![Page 4: [C++ lab] 5. sud 프로젝트 구현](https://reader036.vdocuments.net/reader036/viewer/2022081419/55851440d8b42ac10a8b5045/html5/thumbnails/4.jpg)
MAP10X10
PCHP/MP행동력아이템
MOBHP/MP스킬AI
게임 매니저
기본 클래스
![Page 5: [C++ lab] 5. sud 프로젝트 구현](https://reader036.vdocuments.net/reader036/viewer/2022081419/55851440d8b42ac10a8b5045/html5/thumbnails/5.jpg)
만들어 봅시다 !
![Page 6: [C++ lab] 5. sud 프로젝트 구현](https://reader036.vdocuments.net/reader036/viewer/2022081419/55851440d8b42ac10a8b5045/html5/thumbnails/6.jpg)
• 맵은 우선 10 X 10 타일으로 구성된다 . • 각 타일은 맵정보 (MapInfo) 구조체로 구성된다 .
• 캐릭터는 키보드 입력으로 동서남북 (W,A,S,D) 로 이동 한다 . • 캐릭터가 이동하면 현재 위치를 출력한다 .
• 맵에 랜덤으로 몹을 배치 한다 . • 몹이 위치한 타일에 이동하면 몹과 전투 한다 .
• 공격은 정해진 데미지 범위 안에서 (MIN ~ MAX) 데미지를 입힌다 . • 일정한 확률로 피격 / 회피 / 방어를 한다 .
• 몹에게 죽으면 게임 오버• 몹에게 이기면 다시 또 이동을 시작한다 .
![Page 7: [C++ lab] 5. sud 프로젝트 구현](https://reader036.vdocuments.net/reader036/viewer/2022081419/55851440d8b42ac10a8b5045/html5/thumbnails/7.jpg)
Game Manager
![Page 8: [C++ lab] 5. sud 프로젝트 구현](https://reader036.vdocuments.net/reader036/viewer/2022081419/55851440d8b42ac10a8b5045/html5/thumbnails/8.jpg)
Input 처리
![Page 9: [C++ lab] 5. sud 프로젝트 구현](https://reader036.vdocuments.net/reader036/viewer/2022081419/55851440d8b42ac10a8b5045/html5/thumbnails/9.jpg)
• 맵은 우선 10 X 10 타일으로 구성된다 . • 각 타일은 맵정보 (MapInfo) 구조체로 구성된다 .
• 캐릭터는 키보드 입력으로 동서남북 (W,A,S,D) 로 이동 한다 . • 캐릭터가 이동하면 현재 위치를 출력한다 .
• 맵에 랜덤으로 몹을 배치 한다 . • 몹이 위치한 타일에 이동하면 몹과 전투 한다 .
• 공격은 정해진 데미지 범위 안에서 (MIN ~ MAX) 데미지를 입힌다 . • 일정한 확률로 피격 / 회피 / 방어를 한다 .
• 몹에게 죽으면 게임 오버• 몹에게 이기면 다시 또 이동을 시작한다 .
![Page 10: [C++ lab] 5. sud 프로젝트 구현](https://reader036.vdocuments.net/reader036/viewer/2022081419/55851440d8b42ac10a8b5045/html5/thumbnails/10.jpg)
Stdafx.h
CGameMap
![Page 11: [C++ lab] 5. sud 프로젝트 구현](https://reader036.vdocuments.net/reader036/viewer/2022081419/55851440d8b42ac10a8b5045/html5/thumbnails/11.jpg)
• 맵은 우선 10 X 10 타일으로 구성된다 . • 각 타일은 맵정보 (MapInfo) 구조체로 구성된다 .
• 캐릭터는 키보드 입력으로 동서남북 (W,A,S,D) 로 이동 한다 . • 캐릭터가 이동하면 현재 위치를 출력한다 .
• 맵에 랜덤으로 몹을 배치 한다 . • 몹이 위치한 타일에 이동하면 몹과 전투 한다 .
• 공격은 정해진 데미지 범위 안에서 (MIN ~ MAX) 데미지를 입힌다 . • 일정한 확률로 피격 / 회피 / 방어를 한다 .
• 몹에게 죽으면 게임 오버• 몹에게 이기면 다시 또 이동을 시작한다 .
![Page 12: [C++ lab] 5. sud 프로젝트 구현](https://reader036.vdocuments.net/reader036/viewer/2022081419/55851440d8b42ac10a8b5045/html5/thumbnails/12.jpg)
CCharacter
Enum 열거형
![Page 13: [C++ lab] 5. sud 프로젝트 구현](https://reader036.vdocuments.net/reader036/viewer/2022081419/55851440d8b42ac10a8b5045/html5/thumbnails/13.jpg)
enum 열거형• 타입 종류같은 열거 해야 하는 값들을 저장하는 데이터 타입• 내부적으로는 int 형과 같은 4 바이트 변수다 .• 변수안에 들어갈 값들을 제한하여 정한다고 생각하면 된다 . • 정의된 값들은 디폴트로 0 부터 순차적으로 증가한다 .• 0 이 아닌 다른 특정한 값 (int 형 ) 으로 정의할 수도 있다 .
예 ) 히트 결과 • 함수 반환 값으로 구별이 필요
• Int 형으로 반환 => 0 – 미스 , 1 – 히트 , 2 – 파괴
• enum 형으로 선언
• MISS, HIT, DESTROY
• 반환값으로 enum 형을 반환
![Page 14: [C++ lab] 5. sud 프로젝트 구현](https://reader036.vdocuments.net/reader036/viewer/2022081419/55851440d8b42ac10a8b5045/html5/thumbnails/14.jpg)
PC 의 생성
![Page 15: [C++ lab] 5. sud 프로젝트 구현](https://reader036.vdocuments.net/reader036/viewer/2022081419/55851440d8b42ac10a8b5045/html5/thumbnails/15.jpg)
PC 위치 초기화
![Page 16: [C++ lab] 5. sud 프로젝트 구현](https://reader036.vdocuments.net/reader036/viewer/2022081419/55851440d8b42ac10a8b5045/html5/thumbnails/16.jpg)
PC 의 이동 처리
실행 결과
![Page 17: [C++ lab] 5. sud 프로젝트 구현](https://reader036.vdocuments.net/reader036/viewer/2022081419/55851440d8b42ac10a8b5045/html5/thumbnails/17.jpg)
5 주차 과제
• C++ 의 형변환 연산자 4 가지에 대하여 조사하여 , 각각 형변환 방법의 설명과 각각 사용하는 예제를 작성하여 제출 하세요 .• Static_cast• Const_cast• reinterpret_cast• Dynamic_cast
• Value, Pointer, Reference 의 차이에 대해서 조사하여 작성하고 , 각각의 차이를 보여주는 예제를 작성하여 제출 하세요 .