QueenPanel.h
上传用户:hncsjd
上传日期:2022-07-08
资源大小:3772k
文件大小:2k
源码类别:

其他智力游戏

开发平台:

Visual C++

  1. #if !defined(AFX_QUEENPANEL_H__E424C34A_14F8_4EF0_A4CC_1B065FA861F8__INCLUDED_)
  2. #define AFX_QUEENPANEL_H__E424C34A_14F8_4EF0_A4CC_1B065FA861F8__INCLUDED_
  3. #if _MSC_VER > 1000
  4. #pragma once
  5. #endif // _MSC_VER > 1000
  6. // QueenPanel.h : header file
  7. //
  8. /////////////////////////////////////////////////////////////////////////////
  9. // CQueenPanel window
  10. //利用向导生成的、从CStatic类派生下来的自定义MFC类
  11. class CQueenPanel : public CStatic
  12. {
  13. // Construction
  14. public:
  15. CQueenPanel( );
  16. CQueenPanel(int size);
  17. // Attributes
  18. public:
  19. // Operations
  20. public:
  21. // Overrides
  22. // ClassWizard generated virtual function overrides
  23. //{{AFX_VIRTUAL(CQueenPanel)
  24. //}}AFX_VIRTUAL
  25. // Implementation
  26. public:
  27. virtual ~CQueenPanel();
  28. void SetSize(int size); //设置N
  29. void SetQueen(int *newq); //将当前的解设置为存储空间newq中的解
  30. void SetQueen(int row, int col); //在第row行、第col列放置一个皇后
  31. // Generated message map functions
  32. protected:
  33. //{{AFX_MSG(CQueenPanel)
  34. afx_msg void OnPaint();
  35. //}}AFX_MSG
  36. DECLARE_MESSAGE_MAP()
  37. private:
  38. void DrawBoard(CDC *pDC, int size, int cell); //画棋盘
  39. int *queen; //动态申请数组空间,记录皇后的位置,queen[i]表示第i行皇后的所在列的位置。
  40. int N; //N皇后问题的规模
  41. };
  42. /////////////////////////////////////////////////////////////////////////////
  43. //{{AFX_INSERT_LOCATION}}
  44. // Microsoft Visual C++ will insert additional declarations immediately before the previous line.
  45. #endif // !defined(AFX_QUEENPANEL_H__E424C34A_14F8_4EF0_A4CC_1B065FA861F8__INCLUDED_)