⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 chessman.h

📁 华容道游戏
💻 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 + -