BoxMan.h
上传用户:qiangti
上传日期:2022-04-06
资源大小:644k
文件大小:2k
源码类别:

其他智力游戏

开发平台:

Visual C++

  1. /*++
  2. Copyright (c) AFE(Active-Free-Elegance)
  3. Module Name:
  4.      BoxMan.h
  5. Abstract:
  6. BoxMan Game Class ,solve all the important movment of the man and box,
  7. and some thing refer to them
  8. Author:
  9.     Weijian Luo (Arthur Luo)   15-Jun-2005
  10. E-mail: skybluehacker@yahoo.com.cn
  11. Revision History:      1.0
  12. --*/
  13. #if !defined(AFX_BOXMAN_H__6BDB997E_47A5_471A_9589_4BB3B6AFF679__INCLUDED_)
  14. #define AFX_BOXMAN_H__6BDB997E_47A5_471A_9589_4BB3B6AFF679__INCLUDED_
  15. #if _MSC_VER > 1000
  16. #pragma once
  17. #endif // _MSC_VER > 1000
  18. #include <afxwin.h>  //GDI 绘图CDC
  19. #define M_TAB_WIDTH  20   //横向方块数目宽度
  20. #define M_TAB_HEIGHT 20   //纵向方块数目宽度
  21. class CBoxMan  
  22. {
  23. public:
  24. CBoxMan();
  25. virtual ~CBoxMan();
  26. public:
  27. BOOL ChangeMissionNum(int iNum);
  28. void KeyDown(UINT nChar, UINT nRepCnt, UINT nFlags);
  29.     void DrawGameArea(CDC* pDC);
  30. int  GetNowMissionNum(void);
  31. void IsSound(BOOL bUse);
  32. protected:
  33. //绘图操作
  34.     void DrawBackGroup(int x, int y, CDC* pDC);
  35.     void DrawWhiteWall(int x, int y, CDC* pDC);
  36.     void DrawBlueWall(int x, int y, CDC* pDC);
  37.     void DrawBall(int x, int y, CDC* pDC);
  38.     void DrawYellowBox(int x, int y, CDC* pDC);
  39.     void DrawRedBox(int x, int y, CDC* pDC);
  40.     void DrawManWall(int x, int y, CDC* pDC);
  41.     void DrawManBall(int x, int y, CDC* pDC);
  42.     void LoadMap(int iMissionNum);
  43.     CPoint GetManPosition();
  44.     void DispatchMsg(UINT nChar);
  45.     void UpdateMap(int x1, int y1, int x2, int y2, int x3, int y3);
  46.     bool IsFinish(void);
  47. void BoxManPlaySound(void);
  48. int LoadMaxMissionNum(void);
  49. protected:
  50.     char m_cMap[M_TAB_WIDTH][M_TAB_HEIGHT];  //方块矩阵
  51.     CPoint m_ptManPosition;
  52.     int m_iMissionNum;
  53. int m_soundState;                     //当前播音状态
  54. int m_bSound;                         //是否启用声音
  55. };
  56. #endif // !defined(AFX_BOXMAN_H__6BDB997E_47A5_471A_9589_4BB3B6AFF679__INCLUDED_)