NQueenDlg.h
资源名称:NQueen.rar [点击查看]
上传用户:hncsjd
上传日期:2022-07-08
资源大小:3772k
文件大小:2k
源码类别:
其他智力游戏
开发平台:
Visual C++
- // NQueenDlg.h : header file
- //
- #if !defined(AFX_NQUEENDLG_H__8E9F8003_81C8_43D9_B35E_769E2F1767CD__INCLUDED_)
- #define AFX_NQUEENDLG_H__8E9F8003_81C8_43D9_B35E_769E2F1767CD__INCLUDED_
- #include "QueenPanel.h"
- #if _MSC_VER > 1000
- #pragma once
- #endif // _MSC_VER > 1000
- /////////////////////////////////////////////////////////////////////////////
- // CNQueenDlg dialog
- class CNQueenDlg : public CDialog
- {
- // Construction
- public:
- CNQueenDlg(CWnd* pParent = NULL); // standard constructor
- void UpdateUI();
- void WINAPI Go();
- // Dialog Data
- //{{AFX_DATA(CNQueenDlg)
- enum { IDD = IDD_NQUEEN_DIALOG };
- CQueenPanel m_panel;
- //}}AFX_DATA
- // ClassWizard generated virtual function overrides
- //{{AFX_VIRTUAL(CNQueenDlg)
- protected:
- virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV support
- //}}AFX_VIRTUAL
- // Implementation
- protected:
- HICON m_hIcon;
- // Generated message map functions
- //{{AFX_MSG(CNQueenDlg)
- virtual BOOL OnInitDialog();
- afx_msg void OnSysCommand(UINT nID, LPARAM lParam);
- afx_msg void OnPaint();
- afx_msg HCURSOR OnQueryDragIcon();
- afx_msg void OnStart();
- afx_msg void OnPause();
- afx_msg void OnContinue();
- afx_msg void OnStop();
- afx_msg void OnAbout();
- afx_msg void OnClose();
- afx_msg void OnStepBy();
- afx_msg void OnNoInt();
- //}}AFX_MSG
- DECLARE_MESSAGE_MAP()
- private:
- static DWORD WINAPI ThreadGo( LPVOID lpParam ) ;
- void UpdateQPanel(int *queen);
- void UpdateQPanel(int row, int col);
- void DoPause();
- void WINAPI Step(int i);
- BOOLEAN m_step, m_no_int; //是否单步、是否不中断
- int count;
- int N;
- //记录皇后的位置,queen[i]表示第i行皇后的所在列的位置。
- int *queen;
- BOOLEAN *rk;
- BOOLEAN *lk;
- BOOLEAN *mk;
- BOOLEAN step, no_int;
- HANDLE pause_event, this_mutex;
- BOOLEAN canceling, running, pausing;
- };
- //{{AFX_INSERT_LOCATION}}
- // Microsoft Visual C++ will insert additional declarations immediately before the previous line.
- #endif // !defined(AFX_NQUEENDLG_H__8E9F8003_81C8_43D9_B35E_769E2F1767CD__INCLUDED_)