SlideShare una empresa de Scribd logo
1 de 17
5. SUD 프로젝트 구현
박민근
기본 클래스
• 맵은 우선 10 X 10 타일으로 구성된다.
• 각 타일은 맵정보(MapInfo) 구조체로 구성된다.
• 캐릭터는 키보드 입력으로 동서남북(W,A,S,D)로 이동 한다.
• 캐릭터가 이동하면 현재 위치를 출력한다.
• 맵에 랜덤으로 몹을 배치 한다.
• 몹이 위치한 타일에 이동하면 몹과 전투 한다.

• 공격은 정해진 데미지 범위 안에서(MIN ~ MAX) 데미지를 입힌다
• 일정한 확률로 피격/회피/방어를 한다.
• 몹에게 죽으면 게임 오버
• 몹에게 이기면 다시 또 이동을 시작한다.
Game Manager
Input 처리
• 맵은 우선 10 X 10 타일으로 구성된다.
• 각 타일은 맵정보(MapInfo) 구조체로 구성된다.
• 캐릭터는 키보드 입력으로 동서남북(W,A,S,D)로 이동 한다.
• 캐릭터가 이동하면 현재 위치를 출력한다.
• 맵에 랜덤으로 몹을 배치 한다.
• 몹이 위치한 타일에 이동하면 몹과 전투 한다.

• 공격은 정해진 데미지 범위 안에서(MIN ~ MAX) 데미지를 입힌다
• 일정한 확률로 피격/회피/방어를 한다.
• 몹에게 죽으면 게임 오버
• 몹에게 이기면 다시 또 이동을 시작한다.
CGameMap

Stdafx.h
• 맵은 우선 10 X 10 타일으로 구성된다.
• 각 타일은 맵정보(MapInfo) 구조체로 구성된다.
• 캐릭터는 키보드 입력으로 동서남북(W,A,S,D)로 이동 한다.
• 캐릭터가 이동하면 현재 위치를 출력한다.
• 맵에 랜덤으로 몹을 배치 한다.
• 몹이 위치한 타일에 이동하면 몹과 전투 한다.

• 공격은 정해진 데미지 범위 안에서(MIN ~ MAX) 데미지를 입힌다
• 일정한 확률로 피격/회피/방어를 한다.
• 몹에게 죽으면 게임 오버
• 몹에게 이기면 다시 또 이동을 시작한다.
CCharacter

Enum 열거형
enum 열거형
•
•
•
•
•

타입 종류같은 열거 해야 하는 값들을 저장하는 데이터 타입
내부적으로는 int 형과 같은 4바이트 변수다.
변수안에 들어갈 값들을 제한하여 정한다고 생각하면 된다.
정의된 값들은 디폴트로 0부터 순차적으로 증가한다.
0이 아닌 다른 특정한 값(int형)으로 정의할 수도 있다.
예) 히트 결과
• 함수 반환 값으로 구별이 필요
• Int형으로 반환 => 0 – 미스, 1 – 히트, 2 – 파괴

• enum 형으로 선언
• MISS, HIT, DESTROY
• 반환값으로 enum 형을 반환
PC의 생성
PC 위치 초기화
PC의 이동 처리
실행 결과
5주차 과제
• C++의 형변환 연산자 4가지에 대하여 조사하여, 각각 형변
환 방법의 설명과 각각 사용하는 예제를 작성하여 제출 하
세요.
• Static_cast
• Const_cast
• reinterpret_cast
• Dynamic_cast
• Value, Pointer, Reference 의 차이에 대해서 조사하여 작성
하고, 각각의 차이를 보여주는 예제를 작성하여 제출 하세
요.

Más contenido relacionado

Destacado

[C++ lab] 1. 수업 내용 및 진행 방법
[C++ lab] 1. 수업 내용 및 진행 방법[C++ lab] 1. 수업 내용 및 진행 방법
[C++ lab] 1. 수업 내용 및 진행 방법
MinGeun Park
 
[C++ lab] 9. 디버깅 테크닉
[C++ lab] 9. 디버깅 테크닉[C++ lab] 9. 디버깅 테크닉
[C++ lab] 9. 디버깅 테크닉
MinGeun Park
 
[C++ lab] 2. hello world
[C++ lab] 2. hello world[C++ lab] 2. hello world
[C++ lab] 2. hello world
MinGeun Park
 
[C++ lab] 10. 메모리 누수 체크
[C++ lab] 10. 메모리 누수 체크[C++ lab] 10. 메모리 누수 체크
[C++ lab] 10. 메모리 누수 체크
MinGeun Park
 
[Pl in c++] 6. battle ship 3
[Pl in c++] 6. battle ship 3[Pl in c++] 6. battle ship 3
[Pl in c++] 6. battle ship 3
MinGeun Park
 
[C++adv] STL 사용법과 주의 사항
[C++adv] STL 사용법과 주의 사항[C++adv] STL 사용법과 주의 사항
[C++adv] STL 사용법과 주의 사항
MinGeun Park
 
[1116 박민근] c++11에 추가된 새로운 기능들
[1116 박민근] c++11에 추가된 새로운 기능들[1116 박민근] c++11에 추가된 새로운 기능들
[1116 박민근] c++11에 추가된 새로운 기능들
MinGeun Park
 
Modern C++ 프로그래머를 위한 CPP11/14 핵심
Modern C++ 프로그래머를 위한 CPP11/14 핵심Modern C++ 프로그래머를 위한 CPP11/14 핵심
Modern C++ 프로그래머를 위한 CPP11/14 핵심
흥배 최
 

Destacado (11)

[C++ lab] 1. 수업 내용 및 진행 방법
[C++ lab] 1. 수업 내용 및 진행 방법[C++ lab] 1. 수업 내용 및 진행 방법
[C++ lab] 1. 수업 내용 및 진행 방법
 
[C++ lab] 9. 디버깅 테크닉
[C++ lab] 9. 디버깅 테크닉[C++ lab] 9. 디버깅 테크닉
[C++ lab] 9. 디버깅 테크닉
 
C++ 미정의 행동(undefined behavior)
C++ 미정의 행동(undefined behavior)C++ 미정의 행동(undefined behavior)
C++ 미정의 행동(undefined behavior)
 
[C++ lab] 2. hello world
[C++ lab] 2. hello world[C++ lab] 2. hello world
[C++ lab] 2. hello world
 
[C++ lab] 10. 메모리 누수 체크
[C++ lab] 10. 메모리 누수 체크[C++ lab] 10. 메모리 누수 체크
[C++ lab] 10. 메모리 누수 체크
 
[Pl in c++] 6. battle ship 3
[Pl in c++] 6. battle ship 3[Pl in c++] 6. battle ship 3
[Pl in c++] 6. battle ship 3
 
[C++adv] STL 사용법과 주의 사항
[C++adv] STL 사용법과 주의 사항[C++adv] STL 사용법과 주의 사항
[C++adv] STL 사용법과 주의 사항
 
[1116 박민근] c++11에 추가된 새로운 기능들
[1116 박민근] c++11에 추가된 새로운 기능들[1116 박민근] c++11에 추가된 새로운 기능들
[1116 박민근] c++11에 추가된 새로운 기능들
 
Modern C++ 프로그래머를 위한 CPP11/14 핵심
Modern C++ 프로그래머를 위한 CPP11/14 핵심Modern C++ 프로그래머를 위한 CPP11/14 핵심
Modern C++ 프로그래머를 위한 CPP11/14 핵심
 
동국대 앱창작터 1일차:Cocos2d-X 소개, 환경설정, 주요개념
동국대 앱창작터 1일차:Cocos2d-X 소개, 환경설정, 주요개념동국대 앱창작터 1일차:Cocos2d-X 소개, 환경설정, 주요개념
동국대 앱창작터 1일차:Cocos2d-X 소개, 환경설정, 주요개념
 
유니티의 툰셰이딩을 사용한 3D 애니메이션 표현
유니티의 툰셰이딩을 사용한 3D 애니메이션 표현유니티의 툰셰이딩을 사용한 3D 애니메이션 표현
유니티의 툰셰이딩을 사용한 3D 애니메이션 표현
 

Más de MinGeun Park

Más de MinGeun Park (20)

[CSStudy] 코딩인터뷰 완전 분석 #7.pdf
[CSStudy] 코딩인터뷰 완전 분석 #7.pdf[CSStudy] 코딩인터뷰 완전 분석 #7.pdf
[CSStudy] 코딩인터뷰 완전 분석 #7.pdf
 
[Cs study] 코딩인터뷰 완전 분석 #6
[Cs study] 코딩인터뷰 완전 분석 #6[Cs study] 코딩인터뷰 완전 분석 #6
[Cs study] 코딩인터뷰 완전 분석 #6
 
[Cs study] 코딩인터뷰 완전 분석 #5
[Cs study] 코딩인터뷰 완전 분석 #5[Cs study] 코딩인터뷰 완전 분석 #5
[Cs study] 코딩인터뷰 완전 분석 #5
 
[Cs study] 코딩인터뷰 완전 분석 #3
[Cs study] 코딩인터뷰 완전 분석 #3[Cs study] 코딩인터뷰 완전 분석 #3
[Cs study] 코딩인터뷰 완전 분석 #3
 
[Cs study] 코딩인터뷰 완전 분석 #2
[Cs study] 코딩인터뷰 완전 분석 #2[Cs study] 코딩인터뷰 완전 분석 #2
[Cs study] 코딩인터뷰 완전 분석 #2
 
[Cs study] 코딩인터뷰 완전 분석
[Cs study] 코딩인터뷰 완전 분석[Cs study] 코딩인터뷰 완전 분석
[Cs study] 코딩인터뷰 완전 분석
 
[데브루키_언리얼스터디_0525] 애니메이션 노티파이
[데브루키_언리얼스터디_0525] 애니메이션 노티파이[데브루키_언리얼스터디_0525] 애니메이션 노티파이
[데브루키_언리얼스터디_0525] 애니메이션 노티파이
 
[데브루키] 이벤트 드리븐 아키텍쳐
[데브루키] 이벤트 드리븐 아키텍쳐[데브루키] 이벤트 드리븐 아키텍쳐
[데브루키] 이벤트 드리븐 아키텍쳐
 
[데브루키 언리얼 스터디] PBR
[데브루키 언리얼 스터디] PBR[데브루키 언리얼 스터디] PBR
[데브루키 언리얼 스터디] PBR
 
[데브루키 언리얼 스터디] 스터디 안내 OT
[데브루키 언리얼 스터디] 스터디 안내 OT[데브루키 언리얼 스터디] 스터디 안내 OT
[데브루키 언리얼 스터디] 스터디 안내 OT
 
[데브루키/페차쿠차] 유니티 프로파일링에 대해서 알아보자.
[데브루키/페차쿠차] 유니티 프로파일링에 대해서 알아보자.[데브루키/페차쿠차] 유니티 프로파일링에 대해서 알아보자.
[데브루키/페차쿠차] 유니티 프로파일링에 대해서 알아보자.
 
[데브루키] Color space gamma correction
[데브루키] Color space gamma correction[데브루키] Color space gamma correction
[데브루키] Color space gamma correction
 
유니티 팁&트릭 Unity Tip & Trick
유니티 팁&트릭 Unity Tip & Trick유니티 팁&트릭 Unity Tip & Trick
유니티 팁&트릭 Unity Tip & Trick
 
Live2D with Unity - 그녀들을 움직이게 하는 기술 (알콜코더 박민근)
Live2D with Unity - 그녀들을 움직이게 하는 기술 (알콜코더 박민근)Live2D with Unity - 그녀들을 움직이게 하는 기술 (알콜코더 박민근)
Live2D with Unity - 그녀들을 움직이게 하는 기술 (알콜코더 박민근)
 
[RAPA/C++] 1. 수업 내용 및 진행 방법
[RAPA/C++] 1. 수업 내용 및 진행 방법[RAPA/C++] 1. 수업 내용 및 진행 방법
[RAPA/C++] 1. 수업 내용 및 진행 방법
 
[Unite17] 유니티에서차세대프로그래밍을 UniRx 소개 및 활용
[Unite17] 유니티에서차세대프로그래밍을 UniRx 소개 및 활용 [Unite17] 유니티에서차세대프로그래밍을 UniRx 소개 및 활용
[Unite17] 유니티에서차세대프로그래밍을 UniRx 소개 및 활용
 
[데브루키160409 박민근] UniRx 시작하기
[데브루키160409 박민근] UniRx 시작하기[데브루키160409 박민근] UniRx 시작하기
[데브루키160409 박민근] UniRx 시작하기
 
[160404] 유니티 apk 용량 줄이기
[160404] 유니티 apk 용량 줄이기[160404] 유니티 apk 용량 줄이기
[160404] 유니티 apk 용량 줄이기
 
[160402_데브루키_박민근] UniRx 소개
[160402_데브루키_박민근] UniRx 소개[160402_데브루키_박민근] UniRx 소개
[160402_데브루키_박민근] UniRx 소개
 
[150523] live2d 그녀들을 움직이게 하는 기술
[150523] live2d 그녀들을 움직이게 하는 기술[150523] live2d 그녀들을 움직이게 하는 기술
[150523] live2d 그녀들을 움직이게 하는 기술
 

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

  • 1. 5. SUD 프로젝트 구현 박민근
  • 2.
  • 3.
  • 5.
  • 6. • 맵은 우선 10 X 10 타일으로 구성된다. • 각 타일은 맵정보(MapInfo) 구조체로 구성된다. • 캐릭터는 키보드 입력으로 동서남북(W,A,S,D)로 이동 한다. • 캐릭터가 이동하면 현재 위치를 출력한다. • 맵에 랜덤으로 몹을 배치 한다. • 몹이 위치한 타일에 이동하면 몹과 전투 한다. • 공격은 정해진 데미지 범위 안에서(MIN ~ MAX) 데미지를 입힌다 • 일정한 확률로 피격/회피/방어를 한다. • 몹에게 죽으면 게임 오버 • 몹에게 이기면 다시 또 이동을 시작한다.
  • 9. • 맵은 우선 10 X 10 타일으로 구성된다. • 각 타일은 맵정보(MapInfo) 구조체로 구성된다. • 캐릭터는 키보드 입력으로 동서남북(W,A,S,D)로 이동 한다. • 캐릭터가 이동하면 현재 위치를 출력한다. • 맵에 랜덤으로 몹을 배치 한다. • 몹이 위치한 타일에 이동하면 몹과 전투 한다. • 공격은 정해진 데미지 범위 안에서(MIN ~ MAX) 데미지를 입힌다 • 일정한 확률로 피격/회피/방어를 한다. • 몹에게 죽으면 게임 오버 • 몹에게 이기면 다시 또 이동을 시작한다.
  • 11. • 맵은 우선 10 X 10 타일으로 구성된다. • 각 타일은 맵정보(MapInfo) 구조체로 구성된다. • 캐릭터는 키보드 입력으로 동서남북(W,A,S,D)로 이동 한다. • 캐릭터가 이동하면 현재 위치를 출력한다. • 맵에 랜덤으로 몹을 배치 한다. • 몹이 위치한 타일에 이동하면 몹과 전투 한다. • 공격은 정해진 데미지 범위 안에서(MIN ~ MAX) 데미지를 입힌다 • 일정한 확률로 피격/회피/방어를 한다. • 몹에게 죽으면 게임 오버 • 몹에게 이기면 다시 또 이동을 시작한다.
  • 13. enum 열거형 • • • • • 타입 종류같은 열거 해야 하는 값들을 저장하는 데이터 타입 내부적으로는 int 형과 같은 4바이트 변수다. 변수안에 들어갈 값들을 제한하여 정한다고 생각하면 된다. 정의된 값들은 디폴트로 0부터 순차적으로 증가한다. 0이 아닌 다른 특정한 값(int형)으로 정의할 수도 있다. 예) 히트 결과 • 함수 반환 값으로 구별이 필요 • Int형으로 반환 => 0 – 미스, 1 – 히트, 2 – 파괴 • enum 형으로 선언 • MISS, HIT, DESTROY • 반환값으로 enum 형을 반환
  • 17. 5주차 과제 • C++의 형변환 연산자 4가지에 대하여 조사하여, 각각 형변 환 방법의 설명과 각각 사용하는 예제를 작성하여 제출 하 세요. • Static_cast • Const_cast • reinterpret_cast • Dynamic_cast • Value, Pointer, Reference 의 차이에 대해서 조사하여 작성 하고, 각각의 차이를 보여주는 예제를 작성하여 제출 하세 요.