200 likes | 287 Vues
객체지향 윈도우 프로그래밍 IDOL 팀. 201158108 정미경 ( 팀장 ) 200858041 이후범 200958041 허승녕 200958099 남우석. 프로그램 소개 시스템 구조도 기본 기능 설명 ( 화면구성 ) 진행 과정 역할분담 Q & A. INDEX. 프로그램 소개. MFC 의 GUI 를 활용한 턴 (turn) 방식의 보드 게임 객체 지향 설계 기법을 적용한 윈도우 프로그램 작성 다양한 이벤트 적용을 통한 윈도우 프로그램 구현
E N D
객체지향 윈도우 프로그래밍 IDOL팀 201158108 정미경 (팀장) 200858041 이후범 200958041 허승녕 200958099 남우석
프로그램 소개 • 시스템 구조도 • 기본 기능 설명 • (화면구성) • 진행 과정 • 역할분담 • Q & A INDEX
프로그램 소개 • MFC의 GUI를 활용한 턴(turn)방식의 보드 게임 • 객체 지향 설계 기법을 적용한 윈도우 프로그램 작성 • 다양한 이벤트 적용을 통한 윈도우 프로그램 구현 • 기존에 존재 했던 브루마블 이라는 게임을 현대인의 시각에 맞게소속사 및 아이돌을 주제로 재조명
시스템 구조도 CDice CManagement CIdolInfo MAIN FRAME dlgInfoDialog dlg Dialog
기본 기능 설명(1) • Management.cpp • Player의 정보
기본 기능 설명(2) • IdolInfo.cpp • Idol(땅)에 대한 정보 저장
기본 기능 설명(3) • Dice.cpp • 주사위에 관한 연산 • 1~6까지의 srand()함수와 • 1~10까지의 srand()함수
기본 기능 설명(4) • IdolMarBleDlg.cpp(initPlayer()함수 내부) • SM, YG, JYP, CUBE 플레이어해당 값 초기화
기본 기능 설명(5) • IdolMarBleDlg.cpp(initIdol()함수 내부) • 21개의 지역 값 세팅(좌표, 가격 등..) • 7개의 특수 지역 값 세팅
기본 기능 설명(6) • IdolMarBleDlg.cpp (clickInfo()함수 내부) • 특정 지역의 아이돌을 클릭했을 때 해당 좌표 값을 ◇형태로얻어 오는 것이 난해하여 위와 같은 함수를 작성 • 원의 그래프로 해당 좌표 값을 가져옴( X^2 + Y^2의 그래프 방정식을 이용)
기본 기능 설명(7) • IdolMarBleDlg.cpp (OnLButtonDown()함수 내부) • 왼쪽 버튼을 눌렀을 때 누른 지역의 클릭 좌표를 위에서 선언했던clickInfo()함수에 넣어 해당 좌표가 해당지역이면, dlgInfo.DoModal()함수를 호출하여 새로운 Dialog를 띄워 주게 된다. • 이와 같은 맥락으로Player가 특정 지역에 들어가면 구매 의사를 묻는새로운 Dialog를 띄워준다.
기본 기능 설명(8) • IdolMarBleDlg.cpp (OnBnClickedButton1()함수 내부) • SetTimer값을 이용하여 특정 시간 동안 주사위를 굴려준다. • KillTimer를 이용하여 버튼을 한번 더 눌렀을 때 타이머를 종료하며,주사위의 랜덤 값을 받아온다.
기본 기능 설명(9) • IdolMarBleDlg.cpp(OnBnClickedButton1()함수 내부) • Player의 price(소유금액)가 0보다 작을 때, 즉 파산되었을 때갖고 있는 땅을 모두 반환하고,유저의 말을 화면상에서 제거
기본 기능 설명(10) • IdolMarBleDlg.cpp (moveHorse()함수 내부) • 말 이동에 관련된 함수로서 해당 플레이어의 말을 주사위가 나온좌표 값으로 보내준다.(class가 배열로 선언 되어 있으므로 배열의 INDEX가 28을 넘게 되면,다시 초기화 해서 0부터 움직이게 한다.) • For()반복문을 사용하여 말을 이동하게 되어 실질적으로 너무 빠르게작동하여 반복문을 실행 시 sleep()함수를 호출하여 말이 동적으로이동하는 모습을 보여준다. • 이동한 좌표에 땅이 주인이 없을 시 구매에 관련된 Dialog가 뜨고,주인이 있을 시 해당 지역의 70%에 해당하는 금액을 주인에게갚는다. • 또한 특수지역 7개에 대한 처리가 이 부분에 들어있다.
기본 화면 설명(1) 유저정보 유저가 소유한 아이돌 리스트 주사위 액션과 주사위 던지는버튼 유저 말
기본 화면 설명(2) 주사위 결과 값에 따라 말이 이동하고 그 지역 아이돌에 대한 정보 출력
진행과정 프로그램 구현에 있어서 소스에 대해 미흡한 부분이 많이 보여부득이하게 진행 과정을 2주 가량 증가 시켰습니다.
THANK YOU FOR YOUR ATTENTION