본문 바로가기

[2016 - 2019] 학부 정리/3학년

[3학년-프로젝트] (고급윈도우프로그래밍) 노룩컬링 게임

프로젝트명 

 노룩컬링

 개발언어

 C++

팀원 

 총 인원 : 4명 -> 3명

프로젝트 기간 

 2017.05.26 ~ 06.13

 6.16 : c++실기시험

 6.17~6.23 (최종 마무리)

프로젝트 종류

 C++ 기말 팀프로젝트

프로젝트 요약

 [프로그램 의도]

 C++수업의 기말 팀 프로젝트로 "노룩컬링"이라는 컬링게임을 만들었다.


 [지켜야할 필수사항 및 선택사항]

 필수사항)

 (1) 코드 500라인 이상  : 총 2365라인

 (2) 콘솔창 기반 텍스트 색 적용 : line15부터 

 (3) 함수 5개 이상 

 (4) 그래픽 효과

 (5) 8과(구조체) 이후 소스내용 최대 7개 (단, sleep 기능과 자료구조에 대해서는 사용 가능 

  ex - queue, stack, vector, Hashmap, list 등..) - 단, 그에 따른 예외처리(try-catch)를 사용할 경

       우 사용으로 간주

 (6) MFC 사용 금지

 (7) 사용자정보 입출력 필수(단순히, 이름이라도)

 (8) 게임이 정상종료 되더라도 다시 처음으로 돌아가 반복 실행

 (9) 예외처리 구현(try-catch 는 (5)의 개수 증가)

 (10) 가독성 - 상속 및 클래스 관계, 소스 코드 품질은 필수 사항이 아니기에 '가독성'이라도 반드시

 신경 쓴다.

 (11) 주석

 (12) goto문은 지양한다. (게임이기에 만약 사용하게 된다면 구체적인 주석을 요함)

 (13) #pragma warning 과 같은 warnings 무시 헤더 금지

 

 선택사항)

 (1) CRUD - 배열 혹은 구조체를 사용한 Create Read Update Delete 기능 구현  

 (2) 자료구조 2개 이상 사용 - ex) stack, queue  

 (3) 정렬 사용  

 (4) 코드라인 2000라인 이상  

 (5) 재귀함수  

 (6) string lib 사용 (CString은 MFC임)

 내 역할

 초기 map그리기
 규칙 설명 그래픽
 x축, y축 스페이스바 받아서 방향과 거리 조절
 스톤 슛 하는 부분
 라운드, 플레이어 화면
 최종 보고서 목차(4~8까지) 및 중간발표 ppt

 주요 화면

 

 [인트로 - 스톤이 지나가고 게임이 시작] 


 [규칙 설명]


 [사용자 입력](이름부분 지움)

 


 [메인화면]

 


 [라운드 / 승,무,패]

 


 주요 기능

 (1) 2명의 플레이어 입력 받기

 (2) 스페이스바를 이용해 방향과 속도를 설정, 각각의 스톤을 슈팅하기

 (3) 총 2라운드로 진행

 (4) 두 스톤의 충돌시 스톤의 움직임 계산

 (5) 라운드 마지막에 원판에서 스톤의 거리를 계산하여 점수를 내는 부분