📄 chessman.h
字号:
#pragma once
#include "afx.h"
class CChessMan :
public CObject
{
public:
enum {MAN_COUNT = 5};
enum {CT_MAIN, CT_V2, CT_H2, CT_V3, CT_H3};
enum {CELL_SIZE = 47};
CChessMan(void);
CChessMan(CPoint pt, char nType);
CChessMan(CChessMan& m);
~CChessMan(void);
public:
static BOOL InitImage(void);
static void ClearImage(void);
static void SetStartPoint(CPoint pt)
{
s_ptStart = pt;
}
CPoint m_ptPos;
char m_nType;
private:
static CBitmap s_bmpMan[MAN_COUNT];
public:
virtual void Draw(CDC* pDC);
void Draw(CPoint pt, CDC* pDC);
CSize GetSize(void);
void operator = (const CChessMan &m)
{
m_ptPos = m.m_ptPos;
m_nType = m.m_nType;
}
static CPoint s_ptStart;
BOOL PointInMe(CPoint pt);
CPoint GetStartPoint(void);
int GetDirection(void);
BOOL IsRectInMe(CRect rc);
virtual CRect GetRect(void);
};
class CSelectChessMan : public CChessMan
{
public:
CSelectChessMan(void);
~CSelectChessMan();
BOOL m_bUsed; // 是否选中
//CPoint m_ptStart; // 开始移动时左上角的位置
CPoint m_ptMouseStart; // 选中时鼠标位置
CPoint m_ptMouseNow; // 当前鼠标位置
int m_nIndex; // 选中棋子的序号
int m_nMoveUp;
int m_nMoveDown;
int m_nMoveLeft;
int m_nMoveRight;
void CopyChessMan(CChessMan& man, int nIndex);
void SetMoveStep(int nMoveUp, int nMoveDown, int nMoveLeft, int nMoveRight);
CRect GetRect(void);
CPoint GetMovePoint(void);
void Draw(CDC* pDC);
CSize PlaceChessMan(CPoint pt);
};
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -