⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 skyblue_pintudoc.h

📁 包含拼图小游戏的详细程序代码 有兴趣的可以看看
💻 H
字号:
/*++

Copyright (c) AFE(Active-Free-Elegance)

Module Name:

    skyblue_PinTuDoc.h

Abstract:

	Document , manage game's data-calculation and seralization

Author:

    Weijian Luo (Arthur Luo)   15-Jun-2005

	E-mail: skybluehacker@yahoo.com.cn

Revision History:      1.0

--*/
#if !defined(AFX_SKYBLUE_PINTUDOC_H__83B7ABD5_EC45_4E30_9C9A_B2B28AFA8925__INCLUDED_)
#define AFX_SKYBLUE_PINTUDOC_H__83B7ABD5_EC45_4E30_9C9A_B2B28AFA8925__INCLUDED_

#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000

#include <mmsystem.h>     //MCI设备使用到API接口

class CSkyblue_PinTuDoc : public CDocument
{
protected: // create from serialization only
	CSkyblue_PinTuDoc();
	DECLARE_DYNCREATE(CSkyblue_PinTuDoc)

// Attributes
public:
	HICON m_hIcon;
// Overrides
	// ClassWizard generated virtual function overrides
	//{{AFX_VIRTUAL(CSkyblue_PinTuDoc)
	public:
	virtual void Serialize(CArchive& ar);
//	virtual BOOL PreTranslateMessage(MSG* pMsg);
	//}}AFX_VIRTUAL

// Implementation
public:
	virtual ~CSkyblue_PinTuDoc();
#ifdef _DEBUG
	virtual void AssertValid() const;
	virtual void Dump(CDumpContext& dc) const;
#endif

	//方块位置结构
	struct pos
	{
		int row; //方块所在的行
		int col; //方块所在的列
	};

// 操作方法:
public:
	BOOL IsWin(void);
	void PlayMusic(void);
	void MapInitial(void);
	void GameMixMove(void);
	void GameMove(UINT nChar);
	void PicSelect(UINT BMP_ID);
	void SetWindow_N_ViewSize(void);
	void OnKeyDown(UINT nChar, UINT nRepCnt, UINT nFlags);

//属性:
public:
	UINT m_gamePicID;
	CBitmap m_bitmap;

	//系统自动移动标记
	//用作开始游戏前方块的打乱
//	BOOL m_bAutoMove;	
	BOOL m_bShowOrgPic;       //是否显示源图

	//音乐相关
	BOOL m_bMusic;             //关闭音乐
	CString m_szMusicFileName; //音乐文件名称
	MCIDEVICEID m_wID;         //MCI媒体设备ID

	//横向,纵向方块数
	int hnums;
	int vnums;

	//空白方块(黑色区域)的位置
	pos m_blankPos;

	//核心地图
	pos m_map[100][100];

	//每个方块得宽度和高度
	int m_cellWidth;
	int m_cellHeight;

	//当前图片得尺寸
	int m_bmpWidth;
	int m_bmpHeight; 
	//图片的导入时的预定尺寸
	int m_BMP_WIDTH;
	int m_BMP_HEIGHT;

// Generated message map functions
public:
	//{{AFX_MSG(CSkyblue_PinTuDoc)
	afx_msg void OnNewgame();
	afx_msg void OnConfig();
	afx_msg void OnUserpic();
	afx_msg void OnPic1();
	afx_msg void OnPic2();
	afx_msg void OnPic3();
	afx_msg void OnPic4();
	afx_msg void OnMenuOrgPicShow();
	afx_msg void OnUpdateMenuOrgPicShow(CCmdUI* pCmdUI);
	//}}AFX_MSG
	DECLARE_MESSAGE_MAP()
};

/////////////////////////////////////////////////////////////////////////////

//{{AFX_INSERT_LOCATION}}
// Microsoft Visual C++ will insert additional declarations immediately before the previous line.

#endif // !defined(AFX_SKYBLUE_PINTUDOC_H__83B7ABD5_EC45_4E30_9C9A_B2B28AFA8925__INCLUDED_)

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -