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

其他智力游戏

开发平台:

Visual C++

  1. /*++
  2. Copyright (c) AFE(Active-Free-Elegance)
  3. Module Name:
  4.     BoxMan_Edit.h
  5. Abstract:
  6. the BoxMan-Edit operation-contain Class
  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_BOXMAN_EDIT_H__57EE21EE_9DC6_47F0_A3B7_FBACB60F4138__INCLUDED_)
  13. #define AFX_BOXMAN_EDIT_H__57EE21EE_9DC6_47F0_A3B7_FBACB60F4138__INCLUDED_
  14. #if _MSC_VER > 1000
  15. #pragma once
  16. #endif // _MSC_VER > 1000
  17. #include <afxwin.h>  //GDI 绘图CDC
  18. #define M_TAB_WIDTH  20   //横向方块数目宽度
  19. #define M_TAB_HEIGHT 20   //纵向方块数目宽度
  20. class CBoxMan_Edit  
  21. {
  22. public:
  23. CBoxMan_Edit();
  24. virtual ~CBoxMan_Edit();
  25. public:
  26. BOOL ChangeMissionNum(int iNum);
  27.     void DrawMap(CDC* pDC);
  28. int  GetNowMissionNum(void);
  29. void ChangeMap(int x, int y, int iState);
  30. void DrawMouseCursor(int x, int y, int iState, CDC *pDC);
  31.     void LoadMap(int iMissionNum);
  32. void ClearMap(void);
  33. void SaveMap(void);
  34. protected:
  35.     CPoint GetManPosition();
  36.     void DrawBackGroup(int x, int y, CDC* pDC);
  37.     void DrawWhiteWall(int x, int y, CDC* pDC);
  38.     void DrawBlueWall(int x, int y, CDC* pDC);
  39.     void DrawBall(int x, int y, CDC* pDC);
  40.     void DrawYellowBox(int x, int y, CDC* pDC);
  41.     void DrawRedBox(int x, int y, CDC* pDC);
  42.     void DrawManWall(int x, int y, CDC* pDC);
  43.     void DrawManBall(int x, int y, CDC* pDC);
  44.     void UpdateMap(UINT nChar);
  45.     void UpdateMap(int x1, int y1, int x2, int y2, int x3, int y3);
  46.     bool IsFinish(void);
  47. int LoadMaxMissionNum(void);
  48. protected:
  49.     char m_cMap[M_TAB_WIDTH][M_TAB_HEIGHT];  //方块矩阵
  50.     CPoint m_ptManPosition;                  
  51.     int m_iMissionNum;
  52. };
  53. #endif // !defined(AFX_BOXMAN_EDIT_H__57EE21EE_9DC6_47F0_A3B7_FBACB60F4138__INCLUDED_)