skyblue_PinTuDoc.h
上传用户:hbrsgg1
上传日期:2014-05-08
资源大小:2826k
文件大小:3k
源码类别:

其他智力游戏

开发平台:

C/C++

  1. /*++
  2. Copyright (c) AFE(Active-Free-Elegance)
  3. Module Name:
  4.     skyblue_PinTuDoc.h
  5. Abstract:
  6. Document , manage game's data-calculation and seralization
  7. Author:
  8.     Weijian Luo (Arthur Luo)   15-Jun-2005
  9. E-mail: skybluehacker@yahoo.com.cn
  10. Revision History:      1.0
  11. --*/
  12. #if !defined(AFX_SKYBLUE_PINTUDOC_H__83B7ABD5_EC45_4E30_9C9A_B2B28AFA8925__INCLUDED_)
  13. #define AFX_SKYBLUE_PINTUDOC_H__83B7ABD5_EC45_4E30_9C9A_B2B28AFA8925__INCLUDED_
  14. #if _MSC_VER > 1000
  15. #pragma once
  16. #endif // _MSC_VER > 1000
  17. #include <mmsystem.h>     //MCI设备使用到API接口
  18. class CSkyblue_PinTuDoc : public CDocument
  19. {
  20. protected: // create from serialization only
  21. CSkyblue_PinTuDoc();
  22. DECLARE_DYNCREATE(CSkyblue_PinTuDoc)
  23. // Attributes
  24. public:
  25. HICON m_hIcon;
  26. // Overrides
  27. // ClassWizard generated virtual function overrides
  28. //{{AFX_VIRTUAL(CSkyblue_PinTuDoc)
  29. public:
  30. virtual void Serialize(CArchive& ar);
  31. // virtual BOOL PreTranslateMessage(MSG* pMsg);
  32. //}}AFX_VIRTUAL
  33. // Implementation
  34. public:
  35. virtual ~CSkyblue_PinTuDoc();
  36. #ifdef _DEBUG
  37. virtual void AssertValid() const;
  38. virtual void Dump(CDumpContext& dc) const;
  39. #endif
  40. //方块位置结构
  41. struct pos
  42. {
  43. int row; //方块所在的行
  44. int col; //方块所在的列
  45. };
  46. // 操作方法:
  47. public:
  48. BOOL IsWin(void);
  49. void PlayMusic(void);
  50. void MapInitial(void);
  51. void GameMixMove(void);
  52. void GameMove(UINT nChar);
  53. void PicSelect(UINT BMP_ID);
  54. void SetWindow_N_ViewSize(void);
  55. void OnKeyDown(UINT nChar, UINT nRepCnt, UINT nFlags);
  56. //属性:
  57. public:
  58. UINT m_gamePicID;
  59. CBitmap m_bitmap;
  60. //系统自动移动标记
  61. //用作开始游戏前方块的打乱
  62. // BOOL m_bAutoMove;
  63. BOOL m_bShowOrgPic;       //是否显示源图
  64. //音乐相关
  65. BOOL m_bMusic;             //关闭音乐
  66. CString m_szMusicFileName; //音乐文件名称
  67. MCIDEVICEID m_wID;         //MCI媒体设备ID
  68. //横向,纵向方块数
  69. int hnums;
  70. int vnums;
  71. //空白方块(黑色区域)的位置
  72. pos m_blankPos;
  73. //核心地图
  74. pos m_map[100][100];
  75. //每个方块得宽度和高度
  76. int m_cellWidth;
  77. int m_cellHeight;
  78. //当前图片得尺寸
  79. int m_bmpWidth;
  80. int m_bmpHeight; 
  81. //图片的导入时的预定尺寸
  82. int m_BMP_WIDTH;
  83. int m_BMP_HEIGHT;
  84. // Generated message map functions
  85. public:
  86. //{{AFX_MSG(CSkyblue_PinTuDoc)
  87. afx_msg void OnNewgame();
  88. afx_msg void OnConfig();
  89. afx_msg void OnUserpic();
  90. afx_msg void OnPic1();
  91. afx_msg void OnPic2();
  92. afx_msg void OnPic3();
  93. afx_msg void OnPic4();
  94. afx_msg void OnMenuOrgPicShow();
  95. afx_msg void OnUpdateMenuOrgPicShow(CCmdUI* pCmdUI);
  96. //}}AFX_MSG
  97. DECLARE_MESSAGE_MAP()
  98. };
  99. /////////////////////////////////////////////////////////////////////////////
  100. //{{AFX_INSERT_LOCATION}}
  101. // Microsoft Visual C++ will insert additional declarations immediately before the previous line.
  102. #endif // !defined(AFX_SKYBLUE_PINTUDOC_H__83B7ABD5_EC45_4E30_9C9A_B2B28AFA8925__INCLUDED_)