Maze.h
上传用户:sycq158
上传日期:2008-10-22
资源大小:15361k
文件大小:1k
源码类别:

游戏

开发平台:

Visual C++

  1. // Maze.h: interface for the CMaze class.
  2. //
  3. //////////////////////////////////////////////////////////////////////
  4. #if !defined(AFX_MAZE_H__75BF515B_BF5A_4235_A0FF_A432AB917CAC__INCLUDED_)
  5. #define AFX_MAZE_H__75BF515B_BF5A_4235_A0FF_A432AB917CAC__INCLUDED_
  6. #if _MSC_VER > 1000
  7. #pragma once
  8. #endif // _MSC_VER > 1000
  9. class CMaze  
  10. {
  11. public:
  12. void GetPathFindingArray(short* nPathArray, int nCols);
  13. const char* GetName();
  14. POINT GetRandDeployPoint();
  15. void DisplayDeployRects(SIZE& sz, bool bDisplay = true);
  16. bool IsHit(RECT& rcRect);
  17. void DisplayGrid(bool bDisplay =false);
  18. void Draw(CSurface *pSurface);
  19. bool LoadMaze(char* pFilename);
  20. CMaze(char* pszTextureBMP);
  21. virtual ~CMaze();
  22. protected:
  23. BITMAP m_bmpTexture;
  24. char* m_pszTextureBMP;
  25. char m_szName[200];           // Name loaded from the first line in the file
  26. bool m_bDisplayGrid;
  27. bool m_bDisplayDeploy;
  28. struct SMazeCoord {
  29. union {
  30. struct {
  31. int nY;
  32. int nX1, nX2;
  33. };
  34. struct {
  35. int nX;
  36. int nY1, nY2;
  37. };
  38. };
  39. };
  40. std::list<SMazeCoord> m_lVLines;    // Vertical lines in the maze
  41. std::list<SMazeCoord> m_lHLines;    // Horizontal lines in the maze
  42. POINT *m_pPtDeploy;                  // Location of sprite deploy points on the maze
  43. long m_nNoOfDeployPt;
  44. SIZE m_szDeploy;
  45. };
  46. #endif // !defined(AFX_MAZE_H__75BF515B_BF5A_4235_A0FF_A432AB917CAC__INCLUDED_)