📄 chessman.h
字号:
#ifndef _CHESSMAN_H_
#define _CHESSMAN_H_
#include <windows.h>
#define LATTICESIZE 50
class chessman
{
public:
void set( int n, BOOL e, int x, int y )
{
num = n;
exist = e;
xyman.x = x;
xyman.y = y;
}
void set( int x, int y ) //设置位置坐标
{
xyman.x = x;
xyman.y = y;
}
void kill() { exist = FALSE; } //棋子被吃
int number() const { return num; } //返回编号
int sort() const { return num / 7; } //返回 灰 白 类型( 黑 0 、灰 1 )
int inbeing() const { return num % 7; } //返回 棋子是什么( 车 0、马 1、像 2、士 3、将 4、炮 5、兵 6)
BOOL Exist() const { return exist; } //返回棋子是活 还是 死
BOOL drawman( HDC hdc, HDC hdcMemman ); //在棋盘上画出棋子
POINT* manplace() { return &xyman; } //返回棋子在棋盘上坐标位置(x左小右大)(y上小下大)
private:
int num; //记录棋子编号
BOOL exist; //记录棋子生死
POINT xyman; //记录棋子坐标
};
BOOL chessman::drawman( HDC hdc, HDC hdcMemman )
{
if( !exist )
return FALSE;
Ellipse( hdc, xyman.x * LATTICESIZE + 5, xyman.y * LATTICESIZE + 5,
(xyman.x + 1) * LATTICESIZE - 5, (xyman.y + 1) * LATTICESIZE - 5 );
int xpic = num % 7;
int ypic = num / 7;
BitBlt(hdc, xyman.x * LATTICESIZE + 5 + 6, xyman.y * LATTICESIZE + 5 + 6,
28, 28, hdcMemman, xpic * 28, ypic * 28, SRCCOPY );
return TRUE;
}
#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -