MFC로 구현된 너구리게임 분석
- 최초 등록일
- 2010.06.24
- 최종 저작일
- 2010.06
- 16페이지/ MS 파워포인트
- 가격 3,000원
소개글
MFC로 구현된 너구리게임 분석에 관한 리포트입니다
목차
너구리?
게임 규칙
프로그램 주요파일 구성
DrawBitmap.h DrawBitmap.cpp
raccoon.cpp
주요 분석 -게임진행시 변화는 부분만 다시 그리기
이미지 로드 (더블 버퍼링)
주요 분석 키 버퍼 구현
주요 분석 충돌 검사
본문내용
너구리?
고전게임 너구리
현재 마지막 버전인 돌아온 너구리 게임이 있다. 게임의 규칙, 스테이지는 마지막 버전과 가장 비슷하게 참조되었다.
비트이미지를 통한 MFC 구현된 간단한 너구리 게임프로그램을 분석해보도록 한다.
키보드 입력에 대한 이벤트 처리
게임 규칙
총 4스테이지로 구성
좌, 우, 위, 아래 방향키 조작가능
적과 만나면 게임 오버
높은 곳에서 또는 함정에 빠져도 게임 오버
일정 시간이 지나면 게임 오버
프로그램 주요파일 구성
실제 메인 실행 되는 파일은 raccon.cpp 라고 생각하면된다.
헤더(.h) 파일에는 초기화 및 선언 부분이며, 실제 코딩된 부분은 c(.cpp) 파일이라고 보면 된다.
프로그램 주요파일 구성
DrawBitmap.h DrawBitmap.cpp
Window에서 제공되는 비트이미지함수외에 게임의 최적화를 위해 사용자 정의 함수
함수 소개
주요 분석 키 버퍼 구현
점프에도 길게 하는 점프와 짧은 점프가 있다. 이것을 처리하기 위해서는 그 이전의 키 이벤트 정보를 잃어버려서는 안된다. 그래서 키 버퍼와 유사하게 구현되었다.
if (GetAsyncKeyState(LEFT) < 0) {
if (_Rac.x >= 25) { _Rac.x -= _Rac.speedx;
_Rac.step = !_Rac.step;
if (_Rac.x % 20 == 0) PlaySound(MAKEINTRESOURCE(IDR_RAC_STEP), _hInstance, SND_RESOURCE | SND_ASYNC | SND_NOSTOP);
CheckCollision();
}
if (GetAsyncKeyState(JUMP) < 0) {
PlaySound(MAKEINTRESOURCE(IDR_RAC_JUMP),_hInstance, SND_RESOURCE | SND_ASYNC);
_Rac.state = 7;
주요 분석 충돌 검사
CheckCollision
너구리가 움직였을때 충돌검사
CheckCollision_Enemy
적이 움직였을때 충돌검사
이 같이 따로 나누어서 처리하는 이유는 효율을 위해서이다. 압정이나 낭떠러지는 너구리가 움직이지 않으면부딪칠수없기때문이다. 따라서 너구리가 움직일때 검사하면 된다. 그러나 적이나 뱀은 너구리가 움직이지 않아도부딪친다
참고 자료
없음