📄 chessdlg.h
字号:
// ChessDlg.h : 头文件
//
#pragma once
#include "Define.h"
#include "SearchEngine.h"
#include "NegaMaxEngine.h"
#include "afxwin.h"
typedef struct
{
BYTE nChessID;
POINT ptMovePoint;
}MOVECHESS;
typedef enum{Chessing,SetChessBoarding,Previewing}Status;
// CChessDlg 对话框
class CChessDlg : public CDialog
{
friend class CEveluation;
// 构造
public:
CChessDlg(CWnd* pParent = NULL); // 标准构造函数
void ThinkChess();
// 对话框数据
enum { IDD = IDD_CHESS_DIALOG };
CString m_strOutputInfo;
protected:
virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV 支持
private:
bool IsChessOver(int nChessSort);//判断某种类型棋子有无剩余
// 实现
protected:
HICON m_hIcon;
HANDLE m_hHandle;
DWORD m_dwThreadID;
CString m_strWelcome;
bool m_bIsGameOver;
int m_iWhoChess; //下步该谁走棋
int m_nUserChessColor; //用户棋子颜色
BYTE m_byChessBoard[10][9]; //棋盘数组,用于显示棋盘
BYTE m_byBackupChessBoard[10][9];//备份棋盘数组,用于出错恢复
BYTE m_byShowChessBoard[10][9]; //用于显示的棋盘
MOVECHESS m_MoveChess; //用于保存当前被拖拽的棋子的结构
POINT m_ptMoveChess; //用于保存当前被拖拽的棋子的位置
CBitmap m_BoardBmp; //bitmap图用于显示棋盘
CImageList m_Chessman; //用于绘制棋子的ImageList对象
int m_nBoardWidth; //棋盘宽度
int m_nBoardHeight; //棋盘高度
CMoveGenerator* m_pMG; //定义步法生成对象的指针
CEveluation* m_pEvel; //定义估值对象的指针
CSearchEngine* m_pSE; //搜索引擎指针
CPoint m_MousePoint; //当前鼠标所在点
Status m_Status; //当前状态
bool m_bIsThinking; //电脑是否正在想
bool m_bIsBegin; //是否已开始下棋
int m_nWillChessColor; //下一步该哪方下
CHESSMOVE m_cmBestMove; //最佳走法
int m_iChessSort; //下棋方式
int m_iDepthSort; //深度方式
int m_iBout; //已下的回合数
// 生成的消息映射函数
virtual BOOL OnInitDialog();
afx_msg void OnSysCommand(UINT nID, LPARAM lParam);
afx_msg void OnPaint();
afx_msg HCURSOR OnQueryDragIcon();
DECLARE_MESSAGE_MAP()
public:
afx_msg void OnLButtonDown(UINT nFlags, CPoint point);
afx_msg void OnLButtonUp(UINT nFlags, CPoint point);
afx_msg void OnMouseMove(UINT nFlags, CPoint point);
private:
// 判断游戏是否结束
int IsGameOver(BYTE position[][9]);
public:
CStatic m_staticTip;
afx_msg void On32773();
afx_msg void On32772();
afx_msg void On32771();
};
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -