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

其他智力游戏

开发平台:

Visual C++

  1. // EightQueenDlg.h : header file
  2. //
  3. #if !defined(AFX_EIGHTQUEENDLG_H__EE09858D_8174_463A_B70B_F0AA7C29A7BD__INCLUDED_)
  4. #define AFX_EIGHTQUEENDLG_H__EE09858D_8174_463A_B70B_F0AA7C29A7BD__INCLUDED_
  5. #include "QueenPanel.h" // Added by ClassView
  6. #if _MSC_VER > 1000
  7. #pragma once
  8. #endif // _MSC_VER > 1000
  9. /////////////////////////////////////////////////////////////////////////////
  10. // CEightQueenDlg dialog
  11. class CEightQueenDlg : public CDialog
  12. {
  13. // Construction
  14. public:
  15. void UpdateUI();
  16. CEightQueenDlg(CWnd* pParent = NULL); // standard constructor
  17. void WINAPI Go();
  18. // Dialog Data
  19. //{{AFX_DATA(CEightQueenDlg)
  20. enum { IDD = IDD_EIGHTQUEEN_DIALOG };
  21. QueenPanel m_panel;
  22. //}}AFX_DATA
  23. // ClassWizard generated virtual function overrides
  24. //{{AFX_VIRTUAL(CEightQueenDlg)
  25. protected:
  26. virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV support
  27. //}}AFX_VIRTUAL
  28. // Implementation
  29. protected:
  30. HICON m_hIcon;
  31. // Generated message map functions
  32. //{{AFX_MSG(CEightQueenDlg)
  33. virtual BOOL OnInitDialog();
  34. afx_msg void OnSysCommand(UINT nID, LPARAM lParam);
  35. afx_msg void OnPaint();
  36. afx_msg HCURSOR OnQueryDragIcon();
  37. afx_msg void OnStart();
  38. afx_msg void OnPause();
  39. afx_msg void OnContinue();
  40. afx_msg void OnClose();
  41. afx_msg void OnStepBy();
  42. afx_msg void OnAbout();
  43. afx_msg void OnStop();
  44. afx_msg void OnAuto();
  45. afx_msg void OnNoInt();
  46. //}}AFX_MSG
  47. DECLARE_MESSAGE_MAP()
  48. private:
  49. static DWORD WINAPI ThreadGo( LPVOID lpParam ) ;
  50. void UpdateQPanel(int *queen);
  51. void UpdateQPanel(int row, int col);
  52. void DoPause();
  53. void WINAPI Step(int i);
  54. BOOLEAN m_step, m_no_int;
  55. int count;
  56. int n;
  57. //记录皇后的位置,queen[i]表示第i行皇后的所在列的位置。
  58. int *queen;
  59. BOOLEAN *rk;
  60. BOOLEAN *lk;
  61. BOOLEAN *mk;
  62. BOOLEAN step, no_int;
  63. HANDLE pause_event, this_mutex;
  64. BOOLEAN canceling, running, pausing;
  65. };
  66. //{{AFX_INSERT_LOCATION}}
  67. // Microsoft Visual C++ will insert additional declarations immediately before the previous line.
  68. #endif // !defined(AFX_EIGHTQUEENDLG_H__EE09858D_8174_463A_B70B_F0AA7C29A7BD__INCLUDED_)