AmazeDoc.h
上传用户:jygk2008
上传日期:2007-04-06
资源大小:18k
文件大小:2k
源码类别:

系统/网络安全

开发平台:

Visual C++

  1. // AmazeDoc.h : interface of the CAmazeDoc class
  2. //
  3. /////////////////////////////////////////////////////////////////////////////
  4. #if !defined(AFX_AMAZEDOC_H__EEA2E9BF_90C8_11D4_A154_89D8A9A95671__INCLUDED_)
  5. #define AFX_AMAZEDOC_H__EEA2E9BF_90C8_11D4_A154_89D8A9A95671__INCLUDED_
  6. #if _MSC_VER > 1000
  7. #pragma once
  8. #endif // _MSC_VER > 1000
  9. #define AMAZEDATA(x, y) (*(m_pData + (2*m_nHeight+2) * (x) + y))
  10. class CAmazeDoc : public CDocument
  11. {
  12. protected: // create from serialization only
  13. CAmazeDoc();
  14. DECLARE_DYNCREATE(CAmazeDoc)
  15. // Attributes
  16. private:
  17. long* m_pData;
  18. long  m_nWidth, m_nHeight;
  19. public:
  20. long* m_pDisData;
  21. long m_nDisNum;
  22. // Operations
  23. public:
  24. void CreateAmaze();
  25. void DisAmaze();
  26. void DeleteAmaze(){
  27. if(m_pData){delete [] m_pData; m_pData = NULL; }
  28. if(m_pDisData){delete [] m_pDisData; m_pDisData = NULL;} 
  29. }
  30. long AmazeData(int x, int y)
  31. { return *(m_pData + (2*m_nHeight+2) * (x) + y); }
  32. void SetWidth(int w)
  33. { m_nWidth = w; }
  34. long GetWidth()
  35. { return m_nWidth; }
  36. void SetHeight(int h)
  37. { m_nHeight = h; }
  38. long GetHeight()
  39. { return m_nHeight; }
  40. bool HaveAmaze()
  41. { return m_pData != NULL; }
  42. // Overrides
  43. // ClassWizard generated virtual function overrides
  44. //{{AFX_VIRTUAL(CAmazeDoc)
  45. public:
  46. virtual BOOL OnNewDocument();
  47. virtual void Serialize(CArchive& ar);
  48. //}}AFX_VIRTUAL
  49. // Implementation
  50. public:
  51. virtual ~CAmazeDoc();
  52. #ifdef _DEBUG
  53. virtual void AssertValid() const;
  54. virtual void Dump(CDumpContext& dc) const;
  55. #endif
  56. protected:
  57. // Generated message map functions
  58. protected:
  59. //{{AFX_MSG(CAmazeDoc)
  60. // NOTE - the ClassWizard will add and remove member functions here.
  61. //    DO NOT EDIT what you see in these blocks of generated code !
  62. //}}AFX_MSG
  63. DECLARE_MESSAGE_MAP()
  64. };
  65. /////////////////////////////////////////////////////////////////////////////
  66. //{{AFX_INSERT_LOCATION}}
  67. // Microsoft Visual C++ will insert additional declarations immediately before the previous line.
  68. #endif // !defined(AFX_AMAZEDOC_H__EEA2E9BF_90C8_11D4_A154_89D8A9A95671__INCLUDED_)