Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

[C++ lab] 7. sud 프로젝트 구현(2)

833 views

Published on

  • Be the first to comment

  • Be the first to like this

[C++ lab] 7. sud 프로젝트 구현(2)

  1. 1. 7. SUD 프로젝트 구현(2) 박민근
  2. 2. 기본 클래스
  3. 3. • 맵은 우선 10 X 10 타일으로 구성된다. • 각 타일은 맵정보(MapInfo) 구조체로 구성된다. • 캐릭터는 키보드 입력으로 동서남북(W,A,S,D)로 이동 한다. • 캐릭터가 이동하면 현재 위치를 출력한다. • 맵에 랜덤으로 몹을 배치 한다. • 몹이 위치한 타일에 이동하면 몹과 전투 한다. • 공격은 정해진 데미지 범위 안에서(MIN ~ MAX) 데미지를 입힌다 • 일정한 확률로 피격/회피/방어를 한다. • 몹에게 죽으면 게임 오버 • 몹에게 이기면 다시 또 이동을 시작한다.
  4. 4. • 맵은 우선 10 X 10 타일으로 구성된다. • 각 타일은 맵정보(MapInfo) 구조체로 구성된다. • 캐릭터는 키보드 입력으로 동서남북(W,A,S,D)로 이동 한다. • 캐릭터가 이동하면 현재 위치를 출력한다. • 맵에 랜덤으로 몹을 배치 한다. • 몹이 위치한 타일에 이동하면 몹과 전투 한다. • 공격은 정해진 데미지 범위 안에서(MIN ~ MAX) 데미지를 입힌다 • 일정한 확률로 피격/회피/방어를 한다. • 몹에게 죽으면 게임 오버 • 몹에게 이기면 다시 또 이동을 시작한다.
  5. 5. CGameMap Stdafx.h
  6. 6. CGameMap
  7. 7. • 맵은 우선 10 X 10 타일으로 구성된다. • 각 타일은 맵정보(MapInfo) 구조체로 구성된다. • 캐릭터는 키보드 입력으로 동서남북(W,A,S,D)로 이동 한다. • 캐릭터가 이동하면 현재 위치를 출력한다. • 맵에 랜덤으로 몹을 배치 한다. • 몹이 위치한 타일에 이동하면 몹과 전투 한다. • 공격은 정해진 데미지 범위 안에서(MIN ~ MAX) 데미지를 입힌다 • 일정한 확률로 피격/회피/방어를 한다. • 몹에게 죽으면 게임 오버 • 몹에게 이기면 다시 또 이동을 시작한다.
  8. 8. CCharacter Enum 열거형
  9. 9. enum 열거형 • • • • • 타입 종류같은 열거 해야 하는 값들을 저장하는 데이터 타입 내부적으로는 int 형과 같은 4바이트 변수다. 변수안에 들어갈 값들을 제한하여 정한다고 생각하면 된다. 정의된 값들은 디폴트로 0부터 순차적으로 증가한다. 0이 아닌 다른 특정한 값(int형)으로 정의할 수도 있다. 예) 히트 결과 • 함수 반환 값으로 구별이 필요 • Int형으로 반환 => 0 – 미스, 1 – 히트, 2 – 파괴 • enum 형으로 선언 • MISS, HIT, DESTROY • 반환값으로 enum 형을 반환
  10. 10. PC의 생성
  11. 11. PC 위치 초기화
  12. 12. PC의 이동 처리 실행 결과
  13. 13. • 맵은 우선 10 X 10 타일으로 구성된다. • 각 타일은 맵정보(MapInfo) 구조체로 구성된다. • 캐릭터는 키보드 입력으로 동서남북(W,A,S,D)로 이동 한다. • 캐릭터가 이동하면 현재 위치를 출력한다. • 맵에 랜덤으로 몹을 배치 한다. • 몹이 위치한 타일에 이동하면 몹과 전투 한다. • 공격은 정해진 데미지 범위 안에서(MIN ~ MAX) 데미지를 입힌다 • 일정한 확률로 피격/회피/방어를 한다. • 몹에게 죽으면 게임 오버 • 몹에게 이기면 다시 또 이동을 시작한다.
  14. 14. 몹(MOB)의 배치
  15. 15. RANDOM srand() 함수를 호출하여, SEED값을 설정하여 준다
  16. 16. 맵 정보 추 가
  17. 17. 몹의 생성 및 배 치 안됨!! 스택 메모리에서 삭제된 Mob을 참조하는 버그가 발생!
  18. 18. 몹의 생성 및 배 치
  19. 19. 몹의 생성 및 배 치 실습) 랜덤으로 맵사이즈의 ¼만큼의 수의 몹을 배치 하라

×