소개글
비주얼 씨로 만든 퍼즐조각 맞추기 게임입니다. 키보드로 조작하며, 이미지파일은 다른것으로 바꾸어 만들수 있습니다.컴파일 실행환경
Visual C++ 6.0에서 제작하였습니다. 컴파일하시고 바로 실행가능합니다. 도큐먼트파일은 따로 있지않고, 소스내에 주석을 참고하시면 됩니다.본문내용
압축파일을 풀면 Visual C++ 프로젝트 전체가 나옵니다. 도큐먼트 파일은 없고 소스들만 있습니다. 소스에 자세한 주석이 있습니다......
///////////////// 이미지를 바꾼 뒤에는 아래 부분만 조정해 주시면 됩니다./////////////
#define A_WIDTH 5 // 너비(칸)의 수
#define A_HEIGHT 5 // 높이(칸)의 수
#define G_WIDTH 80 // 격자 너비(픽셀)
#define G_HEIGHT 80 // 격자 높이(픽셀)
#define ORG_TOP 60 // 원본이미지 좌측상단 y좌표
#define ORG_LEFT 15 // 원본이미지 좌측상단 x좌표
#define PUZ_TOP 60 // 퍼즐이미지 좌측상단 y좌표
#define PUZ_LEFT 450 // 퍼즐이미지 좌측상단 x좌표
#define ELAPSE_MOVE 5
// 퍼즐 움직이는 타이머 시간간격
// CPuzzleDlg dialog
class CPuzzleDlg : public CDialog
{
// Construction
public:
void ChkPuzzle(); // 퍼즐조각이 다 맞추어졌는지 검사
void StartGame(); // 게임 시작 설정.
CPoint arr[A_WIDTH][A_HEIGHT]; // 좌표배열
bool b_OnShuffle; // 현재 Shuffle 중인지를 지시하는 플래그
int old_shuf_dir; // 섞기의 효율을 높이기위한 변수, 직전에 shuffle했던 방향의 반대방향을 저장.
int num_shuffle; // 퍼즐을 섞는 회수
int move_proc; // 퍼즐이 한칸 움직일때 그 진행정도를 나타냄.
CPoint p_movamount; // 퍼즐조각이 움직일 때, 한번에 움직이 크기를 나타냄.
int move_dir; // 퍼즐의 이동방향.
int set_key; // 키보드 입력 설정상태. 0: 퍼즐이 이동, else: 빈칸이 이동.
bool b_OnGame; // 현재 게임이 진행중인지를 지시
void shuffle(); // 섞기 수행 함수
void draw_puz(); // 퍼즐 이미지 그리기
void draw_org(); // 원본 이미지 그리기
CPoint p_OnMove; // 이동중인 퍼즐 좌표
int count_move; // 총 이동 횟수
int count_sec; // 진행시간(초)
bool b_OnMove; // 이동중 인지를 지시
CPoint p_blank; // 빈칸인 좌표
CPuzzleDlg(CWnd* pParent = NULL); // standard constructor
압축파일 내 파일목록
DlgRes.h
DlgSet2.cpp
DlgSet2.h
DlgSet.cpp
DlgSet.h
Puzzle.aps
Puzzle.clw
Puzzle.cpp
Puzzle.dsp
Puzzle.dsw
Puzzle.h
Puzzle.ncb
Puzzle.opt
Puzzle.plg
Puzzle.rc
PuzzleDlg.cpp
PuzzleDlg.h
ReadMe.txt
resource.h
StdAfx.cpp
StdAfx.h
DlgHelp.cpp
DlgHelp.h
DlgRes.cpp
res/Puzzle.ico
res/Puzzle.rc2
res/QUEST.WAV
res/QUEST1.WAV
res/sparrow.bmp
DlgSet2.cpp
DlgSet2.h
DlgSet.cpp
DlgSet.h
Puzzle.aps
Puzzle.clw
Puzzle.cpp
Puzzle.dsp
Puzzle.dsw
Puzzle.h
Puzzle.ncb
Puzzle.opt
Puzzle.plg
Puzzle.rc
PuzzleDlg.cpp
PuzzleDlg.h
ReadMe.txt
resource.h
StdAfx.cpp
StdAfx.h
DlgHelp.cpp
DlgHelp.h
DlgRes.cpp
res/Puzzle.ico
res/Puzzle.rc2
res/QUEST.WAV
res/QUEST1.WAV
res/sparrow.bmp