1 / 20

201158108 정미경 ( 팀장 ) 200858041 이후범 200958041 허승녕 200958099 남우석

객체지향 윈도우 프로그래밍 IDOL 팀. 201158108 정미경 ( 팀장 ) 200858041 이후범 200958041 허승녕 200958099 남우석. 프로그램 소개 시스템 구조도 기본 기능 설명 ( 화면구성 ) 진행 과정 역할분담 Q & A. INDEX. 프로그램 소개. MFC 의 GUI 를 활용한 턴 (turn) 방식의 보드 게임 객체 지향 설계 기법을 적용한 윈도우 프로그램 작성 다양한 이벤트 적용을 통한 윈도우 프로그램 구현

Download Presentation

201158108 정미경 ( 팀장 ) 200858041 이후범 200958041 허승녕 200958099 남우석

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 객체지향 윈도우 프로그래밍 IDOL팀 201158108 정미경 (팀장) 200858041 이후범 200958041 허승녕 200958099 남우석

  2. 프로그램 소개 • 시스템 구조도 • 기본 기능 설명 • (화면구성) • 진행 과정 • 역할분담 • Q & A INDEX

  3. 프로그램 소개 • MFC의 GUI를 활용한 턴(turn)방식의 보드 게임 • 객체 지향 설계 기법을 적용한 윈도우 프로그램 작성 • 다양한 이벤트 적용을 통한 윈도우 프로그램 구현 • 기존에 존재 했던 브루마블 이라는 게임을 현대인의 시각에 맞게소속사 및 아이돌을 주제로 재조명

  4. 시스템 구조도 CDice CManagement CIdolInfo MAIN FRAME dlgInfoDialog dlg Dialog

  5. 기본 기능 설명(1) • Management.cpp • Player의 정보

  6. 기본 기능 설명(2) • IdolInfo.cpp • Idol(땅)에 대한 정보 저장

  7. 기본 기능 설명(3) • Dice.cpp • 주사위에 관한 연산 • 1~6까지의 srand()함수와 • 1~10까지의 srand()함수

  8. 기본 기능 설명(4) • IdolMarBleDlg.cpp(initPlayer()함수 내부) • SM, YG, JYP, CUBE 플레이어해당 값 초기화

  9. 기본 기능 설명(5) • IdolMarBleDlg.cpp(initIdol()함수 내부) • 21개의 지역 값 세팅(좌표, 가격 등..) • 7개의 특수 지역 값 세팅

  10. 기본 기능 설명(6) • IdolMarBleDlg.cpp (clickInfo()함수 내부) • 특정 지역의 아이돌을 클릭했을 때 해당 좌표 값을 ◇형태로얻어 오는 것이 난해하여 위와 같은 함수를 작성 • 원의 그래프로 해당 좌표 값을 가져옴( X^2 + Y^2의 그래프 방정식을 이용)

  11. 기본 기능 설명(7) • IdolMarBleDlg.cpp (OnLButtonDown()함수 내부) • 왼쪽 버튼을 눌렀을 때 누른 지역의 클릭 좌표를 위에서 선언했던clickInfo()함수에 넣어 해당 좌표가 해당지역이면, dlgInfo.DoModal()함수를 호출하여 새로운 Dialog를 띄워 주게 된다. • 이와 같은 맥락으로Player가 특정 지역에 들어가면 구매 의사를 묻는새로운 Dialog를 띄워준다.

  12. 기본 기능 설명(8) • IdolMarBleDlg.cpp (OnBnClickedButton1()함수 내부) • SetTimer값을 이용하여 특정 시간 동안 주사위를 굴려준다. • KillTimer를 이용하여 버튼을 한번 더 눌렀을 때 타이머를 종료하며,주사위의 랜덤 값을 받아온다.

  13. 기본 기능 설명(9) • IdolMarBleDlg.cpp(OnBnClickedButton1()함수 내부) • Player의 price(소유금액)가 0보다 작을 때, 즉 파산되었을 때갖고 있는 땅을 모두 반환하고,유저의 말을 화면상에서 제거

  14. 기본 기능 설명(10) • IdolMarBleDlg.cpp (moveHorse()함수 내부) • 말 이동에 관련된 함수로서 해당 플레이어의 말을 주사위가 나온좌표 값으로 보내준다.(class가 배열로 선언 되어 있으므로 배열의 INDEX가 28을 넘게 되면,다시 초기화 해서 0부터 움직이게 한다.) • For()반복문을 사용하여 말을 이동하게 되어 실질적으로 너무 빠르게작동하여 반복문을 실행 시 sleep()함수를 호출하여 말이 동적으로이동하는 모습을 보여준다. • 이동한 좌표에 땅이 주인이 없을 시 구매에 관련된 Dialog가 뜨고,주인이 있을 시 해당 지역의 70%에 해당하는 금액을 주인에게갚는다. • 또한 특수지역 7개에 대한 처리가 이 부분에 들어있다.

  15. 기본 화면 설명(1) 유저정보 유저가 소유한 아이돌 리스트 주사위 액션과 주사위 던지는버튼 유저 말

  16. 기본 화면 설명(2) 주사위 결과 값에 따라 말이 이동하고 그 지역 아이돌에 대한 정보 출력

  17. 진행과정 프로그램 구현에 있어서 소스에 대해 미흡한 부분이 많이 보여부득이하게 진행 과정을 2주 가량 증가 시켰습니다.

  18. 역할분담

  19. Q & A

  20. THANK YOU FOR YOUR ATTENTION

More Related